是否可以在黑暗模式下编程制作白色状态栏?(* 应用程序基于单个活动,我必须只为一个片段制作此状态栏 *)
此外,应用程序应该基于Theme.MaterialComponents.Light.NoActionBar
,以没有对其他风格的不良影响。
我试过将白色和用户界面可见性设置为亮模式,但似乎强制变暗会自动应用于状态栏背景。
代码如下所示:
var flags = it.decorView.systemUiVisibility or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
window.decorView.systemUiVisibility = flags
//it is #F0F0F0 in white and night sources
var statusBarColor = context.getColorCompat(R.color.white)
window?.statusBarColor = statusBarColor
但仅systemUiVisibility标志适用:
3条答案
按热度按时间h43kikqp1#
将此添加到Util文件
希望它能解决你的问题。
ohtdti5x2#
另一种方法是创建2个主题类并为状态栏定义特定的颜色。
5f0d552i3#
好吧,答案就在问题里...但是我以前从没想过要禁用黑暗力量...
正如我提到的,在使用
Theme.MaterialComponents.Light.NoActionBar
时,我必须禁用forceDark。所以在这种情况下的解决方案如下所示: