Android API 30级setSystemBarsAppearance不会覆盖主题数据

问题描述

我拥有的Android 11之前版本(API级别30) <item name="android:windowLightStatusBar">true</item> 设置了我的主题,并在代码中另外使用了(

fun setLightStatusBar(){ 
    window?.decorView?.let { it.systemUiVisibility = it.systemUiVisibility or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR }
} 

fun setDarkStatusBar(){
    window?.decorView?.let { it.systemUiVisibility = it.systemUiVisibility and View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR.inv() }
}

但是,Android-30添加了一种新的控制方式

fun setLightStatusBar(){ 
    window?.insetsController?.setSystemBarsAppearance(APPEARANCE_LIGHT_STATUS_BARS,APPEARANCE_LIGHT_STATUS_BARS)
} 

fun setDarkStatusBar(){
    window?.insetsController?.setSystemBarsAppearance(0,APPEARANCE_LIGHT_STATUS_BARS)
}

但是我的问题是,这不能覆盖主题集的值,因此我需要全部使用样式或全部使用代码。

我的问题是,是否打算像这样或我在某处缺少某物?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)