如何在黑暗模式下隐藏 Android 标题栏?

问题描述

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

解决方法

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

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

,

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

,

你也可以通过编程来实现:

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)
    }
,

不知道为什么还没有被提及,但 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Aim_Boost</title> <link rel="stylesheet" href="styles.css"> </head> <body> <div id="page-container"> <div id="top"></div> <div id="column"> <img src="header.png" style="width: 640px; height: 116px;" alt="AimBooster"> <div id="page"> <div class="nav"> <ul> <li>Play</li> <li><a href="#">&nbsp;•&nbsp;News</a></li> <li><a href="#">&nbsp;•&nbsp;FAQ</a></li> <li><a href="#">&nbsp;•&nbsp;Feedback</a></li> <li><a href="#">&nbsp;•&nbsp;Donate</a></li> </ul> </div> <div id="thi"> <canvas id="myCanvas" width="640px" height="497px"></canvas> </div> </div> </div> </div> <script src="javas.js"></script> </body> </html> 对我来说效果更好。 以防万一有人仍在寻找除提供的解决方案之外的其他解决方案。