/**
* 安卓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
相关推荐
IT小盘12 分钟前
08-FastAPI加MySQL实现AI对话记录持久化清泓y17 分钟前
Android内存管理与性能优化面试真题YF02112 小时前
Android compose详解IT小码哥丶2 小时前
Android进阶之事件分发机制深度剖析执明wa17 小时前
LayoutInflater详解: XML是如何变成View的?404_coder17 小时前
源码视角下的 Android 开机流程:从 Zygote、SystemServer 到 Launcher二流小码农17 小时前
鸿蒙开发:以登录案例了解代码架构MVVM用户693717500138418 小时前
从代码生产者到 AI 协作者:软件工程师的角色重构GitLqr19 小时前
别在 Flutter 的 main() 里乱锁屏幕方向,小心 iPad 分屏功能被你搞没了