我的应用设置为全屏和沉浸式模式,因此状态栏和导航栏被隐藏。我编写了一个自定义微调器,以防止单击微调器时出现导航栏。这实际上是可行的,但仍会调整主“活动”视图的大小,就像显示导航和状态栏一样。通常显示它们的区域只是白色。直到我单击微调器中的某项或在微调器外部单击以取消操作之前,它将一直保持这种状态。我可以在主视图上调用某些内容来刷新其布局以删除空白或完全防止空白吗?
在加载活动后,我将调用hideSystemUI方法:
private void hideSystemUI() {
View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
自定义微调器onClickListener将视图重置为原始UI布局。因此,我看不到实际的导航栏或状态栏,只是它们会占用的空白。
有什么想法吗?
谢谢!