Android Jetpack Compose 状态栏高度?

Coo*_*ter 4 statusbar android-jetpack-compose

如何获取状态栏高度?伴奏插图现已弃用,WindowInsets.systemBars.asPaddingValues()每次都给我 0...并且Modifier.statusBarsPadding()在我的布局中不执行任何操作。有什么办法可以达到这个高度吗?

Thr*_*ian 7

当我WindowCompat.setDecorFitsSystemWindows(window, false)在 Activity 上的 setContent 之前调用时,我会得到正确的值,否则返回 0

@Composable
private fun MyComposable() {
    Column {
        val paddingValues = WindowInsets.systemBars.asPaddingValues()
        Spacer(modifier=Modifier.height(paddingValues.calculateTopPadding()))
        Text(text = "Padding values: $paddingValues")
    }
}
Run Code Online (Sandbox Code Playgroud)

结果

在此输入图像描述

没有WindowCompat.setDecorFitsSystemWindows(window, false)

在此输入图像描述