Android导航栏覆盖了我的视图

Pet*_*trS 8 android overlay navigationbar

我在Nexus等设备上遇到Android导航栏的问题.只需在所有没有硬件菜单按钮的设备上.

让我更详细地解释一下这个问题.

我有一个应用程序,其中有3个部分.内容,ActionBar和带有SeekBar的底部面板.

在此输入图像描述

带有SeekBar的ActionBar和底部面板覆盖了内容.每次我点击内容时,ActionBar和带有SeekBar的底部面板都会消失.这完全符合它的工作方式.这是我用于隐藏系统UI的代码片段:

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {                
            decorView.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);
} else {                
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN);
    actionBar.hide();
}
findViewById(R.id.read_book_bottom_bar).setVisibility(View.GONE);
Run Code Online (Sandbox Code Playgroud)

onCreate我的活动方法中,我有这段代码:

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {            
    getWindow().requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY);          
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_OVERSCAN);   
}
Run Code Online (Sandbox Code Playgroud)

但是,当我在具有Android导航栏的设备上启动应用程序时,使用SeekBar显示底部面板时出现问题.简单来说,Android导航栏使用SeekBar覆盖底部面板.这是一个截图:

在此输入图像描述

但每次我点击内容时,Android导航栏都会随着ActionBar和带有SeekBar的底部面板一起消失.所以,问题在于,每当有人想在NEXUS等设备上使用底层面板和SeekBar时,他/她将无法使用它,因为它隐藏在Android导航栏下.

有人可以帮我解决这个问题吗?谢谢大家.

Pet*_*trS 7

最后,我用属性解决了它fitsSystemWindows = true.