目前知道的有两种:
第一种,是看朱江的demo里用的方法:
/**
* 设置透明状态栏
*/
fun Activity.transparentStatusBar() {
transparentStatusBar(window)
}
private fun transparentStatusBar(window: Window) {
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
val option = View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
val vis = window.decorView.systemUiVisibility
window.decorView.systemUiVisibility = option or vis
window.statusBarColor = android.graphics.Color.TRANSPARENT
}
/**
* 状态栏反色
*/
fun Activity.setAndroidNativeLightStatusBar() {
val decor = window.decorView
val isDark = resources.configuration.uiMode == 0x21
if (!isDark) {
decor.systemUiVisibility =
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
} else {
dec