2016-05-19 22 views
1

我正在使用此代碼實現沉浸模式時:狀態和導航欄表示滾動回收站視圖中沉浸模式

 activity.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 
     ); 

但問題是,因爲我滾動回收視圖,狀態和導航欄示作爲項目視圖到達頂部。這很難解釋,但這裏的GIF:

https://giphy.com/gifs/xT4uQiBlagrD9ljQqc

注意,作爲一個項目視圖接近頂部時,狀態欄顯示(只有黑暗背景,雖然顯示)。還要注意導航欄作爲項目視圖的底部到達導航欄的邊界(注意底部的灰色背景)。

這種情況發生在回收站視圖中的每個項目,這真的很煩人。

回答

0

它缺少一些像沉浸式粘性的UI選項。 這裏是我的工作UI選項:

View decorView = getWindow().getDecorView(); 
int uiOptions = 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; 
decorView.setSystemUiVisibility(uiOptions);