2017-08-28 34 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の後にコードを置こうとしましたが、まだ効果はありません。

私は間違っていますか?あなたが必要な結果を得るために、いくつかの行を削除し、そして最後に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); 
} 
0

callFullScreen();を呼び出すことができます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); 
} 

関連する問題