我正在开发一个应用程序,我必须隐藏底部的导航面板。我已经搜索并实现了代码:
private void hideSystemUI() {
View mDecorView =getWindow().getDecorView();
// Set the IMMERSIVE flag.
// Set the content to appear under the system bars so that the content
// doesn't resize when the system bars hide and show.
mDecorView.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 // hide nav bar
| View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
}
这很好。
问题:当我在屏幕上打开任何DAILOG或键盘弹出时,底部的NAVIGATION PANEL会再次弹出。
请建议,我该如何处理这个问题。
答案 0 :(得分:1)
this works,
public void FullScreencall() {
if(Build.VERSION.SDK_INT < 19) //19 or above api
View v = this.getWindow().getDecorView();
v.setSystemUiVisibility(View.GONE);
} else {
//for lower api versions.
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
decorView.setSystemUiVisibility(uiOptions);
}
}
在你的oncreate上调用这个方法。