活动之间的导航栏

时间:2016-01-31 14:54:54

标签: android uinavigationbar navigationbar

我使用此代码隐藏导航栏。问题是,当我进入一个不同的活动时,导航栏弹出并再次隐藏(发生在不到一秒钟),我不喜欢。如何防止它弹出。还有另一种方法可以隐藏它。

public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
        if (hasFocus) {
            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_STICKY);
        }
    }
}

3 个答案:

答案 0 :(得分:2)

在onCreate()中使用它可防止它弹出。

View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
            | View.SYSTEM_UI_FLAG_FULLSCREEN;
    decorView.setSystemUiVisibility(uiOptions);

答案 1 :(得分:0)

你创建一个类并在那里隐藏导航栏。然后在另外两个类中扩展这个类。结果你应该使用inheritence。

答案 2 :(得分:0)

使用此:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN);
}