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
        }
    }
}
相关推荐
Carson带你学Android2 小时前
编译更快、语法更香?一文看懂 Kotlin 2.3.20 的 6 大核心演进
android·kotlin
jwn9992 小时前
Laravel3.x经典特性全解析
android
followYouself2 小时前
Android点击事件分发流程
android·事件分发机制
峥嵘life2 小时前
Android 13 Miracast 投屏代码适配总结
android·后端·asp.net
幸福在路上wellbeing2 小时前
Android Compose UI 控件
android·ui
cch89182 小时前
Laravel1.x:初代PHP框架的起点
android
三少爷的鞋2 小时前
Android 现代架构不需要事件总线
android
程序员陆业聪10 小时前
你的 Android App 可能白白损失了 35% 的性能——R8 全模式配置详解
android
海兰14 小时前
【实战】MCP 服务在 Nacos 中注册状态分析与优化
android·java·github·银行系统·银行ai