从Android 5.0 到Android12的沉浸式兼容

2022-06-19 13:46:22 浏览数 (3)

此方案可以兼容信号栏目 导航栏,

工作忙,没时间解释了,直接看代码:

在Activity的onCreate里调用:
代码语言:javascript复制
window.decorView.systemUiVisibility =
                View.SYSTEM_UI_FLAG_VISIBLE or
                        View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or
                        View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
// 修改信号栏背景颜色
window.statusBarColor = android.graphics.Color.parseColor("#20FF0000")
// 修改导航栏背景颜色
window.navigationBarColor = android.graphics.Color.parseColor("#20FF0000")
如果不想进行代码侵入太严重

就在Application里注册:Application.ActivityLifecycleCallbacks 然后在:

代码语言:javascript复制
override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?)
{
    val window = activity.window
    window.decorView.systemUiVisibility =
            View.SYSTEM_UI_FLAG_VISIBLE or
                    View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or
                    View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
    // 修改信号栏背景颜色
    window.statusBarColor = android.graphics.Color.parseColor("#20FF0000")
    // 修改导航栏背景颜色
    window.navigationBarColor = android.graphics.Color.parseColor("#20FF0000")
}
上图:

image.png

End.

> 老群被封, 新Q群709287944

0 人点赞