2015-11-02 167 views
0

我试图让被景观完全全屏的活动,并有状态栏和导航按钮肖像可见。 我必须能够以编程方式执行此操作。Android的隐藏操作栏,状态栏和导航控制

这就是我试图让应用程序变成全屏的方式。

private void hideNavigationAndStatusBars(){ 
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); // these work only on API 21 and above 

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

的问题有以下几点:

  1. 在某些设备上,我得到了屏幕上方的空白部分,也就是等于在状态栏的高度,即使状态栏没有显示
  2. 在其他设备上,该活动充满整个屏幕,但是当我点击任何东西,状态栏和导航栏出现,他们调整布局,它看起来很丑陋

我想实现:

  1. 活动应填写景观整个屏幕,定位背后的状态栏和导航栏,如果他们出现

  2. 当用户点击屏幕上,他/她应该与屏幕互动。相反,第一次点击显示状态栏和导航栏和交互是可能只有在当用户从顶部

回答

0

拖动来隐藏操作栏调用getActionBar应该只出现在这个

  • 状态栏( ).hide()方法。

    而为了让活动全屏来电 这种方法 requestFeature(Window.FeatureNo_Title)

  • 0

    使用沉浸式模式和系统UI稳定的标志,以实现这一目标。有关更多信息,请参阅开发人员网站中的文档。

    +1

    哪个文件? – Robert

    +0

    https://developer.android.com/training/system-ui/immersive.html –