1

我正在使用以下代码实现沉浸式模式:

        activity.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
        );

但问题是当我滚动回收器视图时,状态和导航栏显示为项目视图到达顶部。很难解释,但这是 gif:

https://giphy.com/gifs/xT4uQiBlagrD9ljQqc

请注意,当项目视图接近顶部时,会显示状态栏(但仅显示深色背景)。还要注意导航栏,因为项目视图的底部到达导航栏的边界(注意底部的灰色背景)。

回收站视图中的每个项目都会发生这种情况,这真的很烦人。

4

1 回答 1

0

它缺少一些 UI 选项,例如沉浸式粘性。这是我的工作 ui 选项:

View decorView = getWindow().getDecorView();
int uiOptions =  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;
decorView.setSystemUiVisibility(uiOptions);
于 2017-02-04T11:12:02.913 回答