20 lines
903 B
Markdown
20 lines
903 B
Markdown
# Skill:系统状态栏与系统导航栏
|
||
|
||
与具体业务无关的系统栏设计:边缘到边缘、显示/隐藏与外观。
|
||
|
||
---
|
||
|
||
## 边缘到边缘
|
||
|
||
- `MainActivity` 中 `enableEdgeToEdge()`,`WindowCompat.setDecorFitsSystemWindows(window, false)`,内容可延伸到系统栏下。
|
||
|
||
## 显示/隐藏
|
||
|
||
- 使用 **SystemUiController** Composable:`LaunchedEffect` 内通过 `WindowInsetsController` 的 `show`/`hide` 控制 `statusBars()`、`navigationBars()`。
|
||
- 本项目主界面常将状态栏与导航栏隐藏(`isStatusBarVisible = false`, `isNavigationBarVisible = false`),由自定义顶部栏和底部栏替代。
|
||
|
||
## 行为与外观
|
||
|
||
- `systemBarsBehavior = BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE`:隐藏时仍可从边缘滑出临时显示。
|
||
- 图标颜色随主题:`isAppearanceLightStatusBars = !darkMode`,亮色主题用深色图标,暗色主题用浅色图标。
|