Android16系统内容全屏,状态栏和导航栏透明

复制代码
/**
 * 安卓16系统页面内容全屏设置,设置透明状态栏 + 透明导航栏
 */
private fun setupWindowInsets() {
    val windowInsetsController = ViewCompat.getWindowInsetsController(window.decorView)
    windowInsetsController?.let { controller ->
        //相当于xml中的android:fitsSystemWindows="false"属性
        WindowCompat.setDecorFitsSystemWindows(window, false)
        // 允许系统栏半透明显示
        controller.isAppearanceLightStatusBars = true  // 状态栏图标深色(适配浅色背景)
        controller.isAppearanceLightNavigationBars = true  // 导航栏图标深色

        // 设置系统栏行为:通过滑动可以临时显示系统栏
        controller.systemBarsBehavior = WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE

        // 设置状态栏颜色为半透明
        window.statusBarColor = Color.TRANSPARENT
        // 设置导航栏颜色为透明
        window.navigationBarColor = Color.TRANSPARENT

        // 设置导航栏对比度,保持手势横杆可见
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
            window.isNavigationBarContrastEnforced = false
        }
    }
}
相关推荐
阿pin8 小时前
Android随笔-kotlin withContext
android·kotlin·withcontext
树码小子9 小时前
开启 IDEA 中的断言功能
android·java·intellij-idea
Kslient9 小时前
HeaderBehavior
android
Android-Flutter10 小时前
android 动画详解
android·kotlin
小孔龙15 小时前
GraphicBuffer 跨进程共享
android
行业研究员16 小时前
Android内置GPS与腾讯地图定位技术对比分析
android·android定位·腾讯地图定位
Android-Flutter16 小时前
android WMS 详解(二)
android·kotlin
游戏开发爱好者817 小时前
App Store 上传 IPA 自动化,.p8 密钥认证与 CI/CD 接入实战
android·运维·ci/cd·小程序·uni-app·自动化·iphone
游戏开发爱好者818 小时前
iOS 推送怎么配置,APNs 推送证书、设备库与群发
android·ios·小程序·https·uni-app·iphone·webview
阿pin19 小时前
Android随笔-kotlin 高阶函数
android·kotlin·高阶函数