隐藏Android应用程序中的底部导航面板?

时间:2014-11-12 06:52:04

标签: android visibility navigationbar

我正在开发一个应用程序,我必须隐藏底部的导航面板。我已经搜索并实现了代码:

        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会再次弹出。

请建议,我该如何处理这个问题。

1 个答案:

答案 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上调用这个方法。