Files
rider-pro-android-app/app/src/main/java/com/aiosman/riderpro/StatusBarMask.kt

56 lines
1.9 KiB
Kotlin
Raw Normal View History

2024-07-15 19:52:29 +08:00
package com.aiosman.riderpro
2024-07-15 20:21:03 +08:00
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
2024-07-15 19:52:29 +08:00
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.ColumnScope
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.asPaddingValues
2024-07-15 20:21:03 +08:00
import androidx.compose.foundation.layout.fillMaxWidth
2024-07-15 19:52:29 +08:00
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.systemBars
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import com.google.accompanist.systemuicontroller.rememberSystemUiController
@Composable
fun StatusBarMask(darkIcons: Boolean = true) {
val paddingValues = WindowInsets.systemBars.asPaddingValues()
val systemUiController = rememberSystemUiController()
LaunchedEffect(Unit) {
systemUiController.setStatusBarColor(Color.Transparent, darkIcons = darkIcons)
}
Spacer(modifier = Modifier.height(paddingValues.calculateTopPadding()))
}
@Composable
fun StatusBarMaskLayout(
modifier: Modifier = Modifier,
darkIcons: Boolean = true,
2024-07-15 20:21:03 +08:00
maskBoxBackgroundColor: Color = Color.Transparent,
2024-07-15 19:52:29 +08:00
content: @Composable ColumnScope.() -> Unit
) {
val paddingValues = WindowInsets.systemBars.asPaddingValues()
val systemUiController = rememberSystemUiController()
LaunchedEffect(Unit) {
systemUiController.setStatusBarColor(Color.Transparent, darkIcons = darkIcons)
}
Column(
modifier = modifier
) {
2024-07-15 20:21:03 +08:00
Box(
modifier = Modifier
.height(paddingValues.calculateTopPadding())
.fillMaxWidth()
.background(maskBoxBackgroundColor)
) {
}
2024-07-15 19:52:29 +08:00
content()
}
}