从Android 5.0 到Android12的沉浸式兼容

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

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

在Activity的onCreate里调用:

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 然后在:

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.

感兴趣的+> 709287944加Q群交流

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容