Android イマーシブ ステータス バーは 4.4 ~ 5.0 と互換性があり、有効です

Android のイマーシブ ステータス バーの場合、次のコードをカプセル化しました。

1. 次のコードでクラスを作成するだけです

public class TitleGetBar {
     public static void getBar (Activity activity) {
         if (Build.VERSION. SDK_INT >= Build.VERSION_CODES. LOLLIPOP ) { 
            Window window = activity.getWindow() ;
window.clearFlags
             (WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION )
 ; window.getDecorView (
 ).setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |
 View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_STABLE ) ;
                                                                                    window.addFlags( WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS ) ;
            window.setStatusBarColor( Color.TRANSPARENT ) ;
            window.setNavigationBarColor( Color.TRANSPARENT ) ;
        } else if (Build.VERSION. SDK_INT >= Build.VERSION_CODES. KITKAT ) { 
            activity.getWindow().addFlags(WindowManager.LayoutParams. FLAG_TRANSLUCENT_STATUS ) ;
        } 
} 
    }
2. 必要なアクティビティの前に setContentView を呼び出して没入型ステータス バーを実現します。これは非常に便利で高速ですか?

3. すべてのアクティビティを設定したくない場合。myAplication をカスタマイズし、初期化時に呼び出すことができます。

TitleGetBar。getBar ( this ) ;
setContentView(R.layout. activity_main ) ;

おすすめ

転載: blog.csdn.net/qq_37870139/article/details/71514827