2017-08-28 24 views
0

我想製作完全透明的狀態欄和背後的內容。View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN不起作用

我的設備使用24 API運行。

我用這個代碼(在我的AppCompatActivity):

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    getWindow().getDecorView().setSystemUiVisibility(
       View.SYSTEM_UI_FLAG_LAYOUT_STABLE 
         | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN); 

    setContentView(R.layout.activity_main); 


} 

但它沒有任何影響,我的內容仍然是狀態欄下; 我也試圖把android:fitsSystemWindows="true"放在我的根視圖中,但它也沒有幫助。 我也試圖把代碼放在setContentView之後,仍然沒有效果。

我在做什麼錯?

回答

0

使用此功能callFullScreen

public void callFullScreen(Activity activity) 
{ 
    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_STICKY); 
} 

你可以刪除一些行獲得所需的結果,最後調用callFullScreen();onCreate

0

與您的代碼替換此:

if (Build.VERSION.SDK_INT < 19) 
{ 
    View v = this.getWindow().getDecorView(); 
    v.setSystemUiVisibility(View.GONE); 
} else if (Build.VERSION.SDK_INT >= 19) { 
    View decorView = getWindow().getDecorView(); 
    decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE 
        | View.SYSTEM_UI_FLAG_FULSCREEN 
        | View.SYSTEM_UI_FLAG_LAYOUT_STABLE 
        | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY 
        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 
        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); 
}