/**
* 安卓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
}
}
}
Android16系统内容全屏,状态栏和导航栏透明
xiaoshiquan12062026-04-07 9:05
相关推荐
alexhilton3 小时前
将应用迁移到Navigation 3:痛点、加班和紧急修复杉氧9 小时前
Navigation Compose 深度实践:如何优雅地串联起你的全栈 App?雨白12 小时前
指针与数组的核心机制黄林晴17 小时前
Room 3.0 正式发布!包名彻底重构,KMP 成为核心主线三少爷的鞋18 小时前
Kotlin 协程环境下的 DCL 懒加载:别把线程时代的经验直接搬过来plainGeekDev18 小时前
Gson → kotlinx.serializationCYY951 天前
Compose 入门篇杉氧1 天前
Compose 时代的 MVI 架构:如何用单向数据流驱动复杂 UI?杉氧1 天前
Modifier 的艺术:为什么链式调用的顺序决定了UI 的生命周期?