2015-11-02 186 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 –