2017-01-15 22 views
1

アクティビティの外にステータスバーを表示/非表示したいと思います。ステータスバーを隠す/表示する方法

私のコードは以下の通りです:

activity.getWindow().getDecorView() 
    .setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE); 

それは私のために動作しません。 activity.getWindow()はnullを返します。

答えて

0
View decorView = getWindow().getDecorView(); 
decorView.setOnSystemUiVisibilityChangeListener 
     (new View.OnSystemUiVisibilityChangeListener() { 
    @Override 
    public void onSystemUiVisibilityChange(int visibility) { 
     // Note that system bars will only be "visible" if none of the 
     // LOW_PROFILE, HIDE_NAVIGATION, or FULLSCREEN flags are set. 
     if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) { 
      // TODO: The system bars are visible. Make any desired 
      // adjustments to your UI, such as showing the action bar or 
      // other navigational controls. 
     } else { 
      // TODO: The system bars are NOT visible. Make any desired 
      // adjustments to your UI, such as hiding the action bar or 
      // other navigational controls. 
     } 
    } 
}); 

詳細については、このリンクを参照してください。

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

1

HIDE/SHOWを没入型フルスクリーンモードを使用する - あなたの活動に

// Hide status bar 
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 

// Show status bar 
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 

もっとPost

+0

それは活動の内部ではなく外部に動作します。 –

+0

あなたは**外部活動**によって何を意味しますか?どこでこれを使用していますか? – W4R10CK

+0

私はネイティブアンドロイドプログラミングを実装していません。だから、私はactivity.getWindow()を使用します。そしてnullを返します。 –

関連する問題