feat: add fitsSystemBars in Scaffold

This commit is contained in:
2023-12-03 23:26:45 +08:00
parent dd464e4b3f
commit 526383c5e5

View File

@@ -27,8 +27,10 @@ import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.displayCutoutPadding
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.systemBarsPadding
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
@@ -37,13 +39,12 @@ import com.highcapable.flexiui.extension.calculateEnd
import com.highcapable.flexiui.extension.calculateStart
import com.highcapable.flexiui.extension.top
// TODO: Linkage BetterAndroid SafeArea (SystemBarsController)
@Composable
fun Scaffold(
modifier: Modifier = Modifier,
colors: SurfaceColors = Surface.colors,
padding: PaddingValues = Surface.padding,
fitsSystemBars: Boolean = true,
verticalArrangement: Arrangement.Vertical = Arrangement.Top,
horizontalAlignment: Alignment.Horizontal = Alignment.Start,
actionBar: @Composable () -> Unit = {},
@@ -61,7 +62,11 @@ fun Scaffold(
bottom = padding.bottom
)
Surface(
modifier = modifier,
modifier = if (fitsSystemBars)
Modifier.systemBarsPadding()
.displayCutoutPadding()
.then(modifier)
else modifier,
colors = colors,
padding = outBoxPadding
) {