windowLightNavigationBar在Android 10(Q)上不起作用

时间:2019-12-23 11:19:34

标签: android android-10.0

我试图使导航栏上的灯带有暗点,所以我用windowLightNavigationBar = true制作了style-v27.xml:

    <item name="android:windowLightNavigationBar">true</item>
    <item name="android:navigationBarColor">@android:color/white</item>

此功能在Api Level 27+和以下版本中可用:

  • 它在api 27(android 8.1)-模拟器上正常工作
  • 它在api 28(android 9)-模拟器上正常工作
  • 它不适用于api 29(android 10)-模拟器

在Android 10上,点仍然为白色,背景也为白色!:

enter image description here

顺便说一下,我的目标是Api 29。 我已经在“仿真器”上进行了测试。我无法访问真正的Android 10设备来确认也存在此错误。

2 个答案:

答案 0 :(得分:0)

这是一个AVD错误,而不是android平台错误。关闭android Q AVD并更新android 10 SDK系统文件。重新打开AVD。问题解决了。

如果没有帮助,请删除AVD并重新创建。

答案 1 :(得分:0)

如果您设置了系统 UI 可见性(例如 View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR),这应该可以通过 onCreate() 在您的主要 Activity 中实现:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    this.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
}

谢谢@tomas