windowLightNavigationBar 在 Android 10 (Q) 上不工作
windowLightNavigationBar not working on Android 10 (Q)
我正在尝试使导航栏变亮,上面有暗点所以我制作了样式-v27.xml, windowLightNavigationBar = true :
<item name="android:windowLightNavigationBar">true</item>
<item name="android:navigationBarColor">@android:color/white</item>
此功能适用于 Api 级别 27+ 并且:
- 它在 api 27 (android 8.1) 上运行良好 - 模拟器
- 它在 api 28 (android 9) 上运行良好 - 模拟器
- 它不适用于 api 29 (android 10) - 模拟器
在 Android 上 10 个点仍然是白色,背景也是白色!:
顺便说一句,我的目标是 Api 29。
我已经在 "EMULATOR" 上进行了测试。我还没有接触到真正的 Android 10 设备来确认这个错误也存在。
这是一个 AVD 错误,而不是 android 平台错误。关闭 android Q AVD 并更新 android 10 个 SDK 系统文件。重新打开AVD。问题已解决。
如果这没有帮助,请删除 AVD 并重新创建它。
如果您设置了系统 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
我正在尝试使导航栏变亮,上面有暗点所以我制作了样式-v27.xml, windowLightNavigationBar = true :
<item name="android:windowLightNavigationBar">true</item>
<item name="android:navigationBarColor">@android:color/white</item>
此功能适用于 Api 级别 27+ 并且:
- 它在 api 27 (android 8.1) 上运行良好 - 模拟器
- 它在 api 28 (android 9) 上运行良好 - 模拟器
- 它不适用于 api 29 (android 10) - 模拟器
在 Android 上 10 个点仍然是白色,背景也是白色!:
顺便说一句,我的目标是 Api 29。 我已经在 "EMULATOR" 上进行了测试。我还没有接触到真正的 Android 10 设备来确认这个错误也存在。
这是一个 AVD 错误,而不是 android 平台错误。关闭 android Q AVD 并更新 android 10 个 SDK 系统文件。重新打开AVD。问题已解决。
如果这没有帮助,请删除 AVD 并重新创建它。
如果您设置了系统 UI 可见性(例如 View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
),这应该可以通过 onCreate()
:
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