我使用此代码实现沉浸式模式:
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
请注意,当项目视图接近顶部时,会显示状态栏(但仅显示深色背景)。另请注意,导航栏作为项目视图的底部到达导航栏的边界(注意底部的灰色背景)。
对于回收者视图中的每个项目都会发生这种情况,这真的很烦人。
答案 0 :(得分: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);