0

我有AppcompatActivity (appcompat-v7:25.3.1)这是在全屏模式下使用下面的代码。但问题是,当在全屏模式下,并且导航视图显示时,它会在Android 6.0的顶部和底部显示这些黑色重叠栏,等于状态栏和导航栏的大小。 Navigation view after applying the below mentioned flags(现在不能嵌入的图片:()Android AppCompatActivity:全屏导航视图在底部显示灰色条

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库的解决方案?

回答

0

检查您的布局xml和样式xml中是否有以下行fitSystemWindows=true,如果是这样,则删除该行或将该值设置为false