如果您的应用同时包含 Compose 和 View 代码,您可能需要明确指定每个代码应占用哪些系统边衬区,并确保边衬区会分派给同级视图。
替换默认边衬区
如果您的屏幕在同一层次结构中同时包含 View 和 Compose 代码,您可能需要替换默认边衬区。在这种情况下,您需要明确指定哪个视图应使用边衬区,哪个视图应忽略边衬区。
例如,如果最外层的布局是 Android View 布局,您应该在 View 系统中使用边衬区,并忽略 Compose 的边衬区。或者,如果最外层的布局是可组合项,您应该在 Compose 中使用边衬区,并相应地填充 AndroidView
可组合项。
默认情况下,每个 ComposeView
在 WindowInsetsCompat
级消耗量下会消耗所有插页式广告。如需更改此默认行为,请将 AbstractComposeView.consumeWindowInsets
设置为 false
。
视图的向后兼容的边衬区调度
如果您的应用包含视图代码,您可能需要确认插边是否已分派给搭载 Android 10(API 级别 29)或更低版本的设备上的同级视图。如需了解详情,请参阅全屏视图指南。
系统栏图标
调用 enableEdgeToEdge
可确保在设备主题发生更改时更新系统栏图标颜色。
在实现无边框布局时,您可能需要手动更新系统栏图标颜色,使其与应用的背景形成对比。例如,如需创建浅色状态栏图标,请执行以下操作:
Kotlin
WindowCompat.getInsetsController(window, window.decorView) .isAppearanceLightStatusBars = false
Java
WindowCompat.getInsetsController(window, window.getDecorView()) .setAppearanceLightStatusBars(false);