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`,亮色主题用深色图标,暗色主题用浅色图标。
|