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