我有AppcompatActivity (appcompat-v7:25.3.1),使用以下代码处于全屏模式。但问题是,当处于全屏模式并且显示导航视图时,它会在Android 6.0中的顶部和底部显示这些黑色覆盖栏,等于状态栏和导航栏的大小。 Navigation view after applying the below mentioned flags(目前无法嵌入图片:()
private void hideAndroidNavigation() {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
}
在Android 4.4中,黑色叠加层只是变为白色 as you can see in this image
我可以使用以下代码删除状态栏的叠加层:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
但我没有幸运删除导航栏叠加层。我尝试了此解决方案https://stackoverflow.com/a/38008965/4428159,建议删除 View.SYSTEM_UI_FLAG_LAYOUT_STABLE,但输出仍然相同
有没有其他方法可以删除这些叠加层或特定于appcompat库的解决方案?