11. 沉浸式状态栏

只有在Android 5.0 以上,才支持设置状态栏的颜色。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;
}

Build.VERSION.SDK_INT: 硬件设备上当前正在运行的软件SDK的版本。
Build.VERSION_CODES.LOLLIPOP: Android系统对应的软件SDK版本值。

View类提供了setSystemUiVisibility和getSystemUiVisibility方法,这两个方法实现对状态栏的动态显示或隐藏的操作,以及获取状态栏当前可见性。

val decor = activity.window.decorView
    if (!onNight) { //白色背景的状态栏,字体灰色
            decor.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
    } else {//黑色背景的状态栏,字体白色
            decor.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LAYOUT_STABLE
    }

你可能感兴趣的:(11. 沉浸式状态栏)