2016-01-31 71 views
1

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

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); 
     } 
    } 
} 

回答

1

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

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

您创建一个类并隐藏导航栏那里。然后在其他两个类中扩展此类。因此,您应该使用继承。

+0

,你能否告诉一个例子,请 – Nikola

0

使用此:

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