【问题标题】:How to hide Android title bar in dark mode?如何在深色模式下隐藏 Android 标题栏?
【发布时间】:2021-05-09 13:39:07
【问题描述】:

我正在使用Theme.MaterialComponents.DayNight.NoActionBar 进行我的活动。我的目标是创建一个没有标题栏的活动,并使通知栏背景与应用背景颜色相同。在正常情况下一切正常。但是当我从设备设置中启用深色主题时,标题栏突然出现。如何摆脱暗光主题的标题栏?

【问题讨论】:

  • 能否请您添加更多详细信息,例如您的 style.xml / 代码

标签: android material-design titlebar


【解决方案1】:

在主题文件夹中默认会有一个普通的一夜版 将两者中的父主题更改为parent="Theme.MaterialComponents.DayNight.NoActionBar",如下所示

以及清单中的主题在这两个主题中的样式名称(同名)在这里android:theme="@style/Theme.Advice">在清单中

【讨论】:

  • 你应该把这些源代码写成代码。请勿分享源代码图片。
  • @Istiak 除了我已经在文本中提到的内容之外,这里不需要特定的代码,为了清晰和上下文,我放了图片
【解决方案2】:

只需转到 Android Manifest 文件并将 NoActionBar 更改为 NoTitleBar https://www.xspdf.com/resolution/20749671.html

【讨论】:

    【解决方案3】:

    不知道为什么还没有提到,但@android:style/Theme.Black.NoTitleBar 对我来说效果更好。 以防万一有人仍在寻找提供的解决方案之外的其他解决方案。

    【讨论】:

      【解决方案4】:

      您也可以通过编程方式进行:

      this.requestWindowFeature(Window.FEATURE_NO_TITLE)
      this.window.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
      

      在你的 oncreate 调用和 setcontent 视图之前添加它。

      作为:

       override fun onCreate(savedInstanceState: Bundle?) {
              super.onCreate(savedInstanceState)
              this.requestWindowFeature(Window.FEATURE_NO_TITLE)
              this.window.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
              setContentView(R.layout.activity_main)
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多