ura*_*reo 11 android android-jetpack-compose
通常,当使用伴奏时Modifier.statusBarsHeight(),高度将根据状态栏的可见性而变化,如果它可见,则为24.dp或更高,如果它不可见,则高度将为0.dp。但我希望无论其可见性如何,高度都不会变为零。
我已经使用这个有一段时间了:
// TODO: use better solution to get a fixed status bar height
val statusBarHeight = with (LocalDensity.current) { LocalWindowInsets.current.statusBars.top.toDp() }
val fixedStatusBarHeight = remember { statusBarHeight }
Run Code Online (Sandbox Code Playgroud)
Mr.*_*mon 32
问题变得复杂你应该像这样使用它
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Box(
modifier = Modifier
.fillMaxSize()
.statusBarsPadding().navigationBarsPadding()
) {
}
Box(
modifier = Modifier
.fillMaxSize()
.statusBarsPadding().systemBarsPadding()
) {
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
小智 3
目前,有一个 ExperimentalLayoutApi 提供了statusBarsIgnoringVisibility.
示例用例:
我有两个屏幕,A 和 B。屏幕 A 用于statusBarsIgnoringVisibility顶部填充。在屏幕 B 中,您可以隐藏状态栏(例如,全屏照片)。当从屏幕 B 转到屏幕 A 时,我希望当状态栏返回视图时,屏幕 A 中的顶部填充已经等于状态栏的整个高度。如果没有statusBarsIgnoringVisibility,这种转变看起来不太好。
| 归档时间: |
|
| 查看次数: |
19402 次 |
| 最近记录: |