From 526383c5e5ccc60e3ee43c87ad39023f1f6c6235 Mon Sep 17 00:00:00 2001 From: fankesyooni Date: Sun, 3 Dec 2023 23:26:45 +0800 Subject: [PATCH] feat: add fitsSystemBars in Scaffold --- .../com/highcapable/flexiui/component/Scaffold.kt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/flexiui-core/src/commonMain/kotlin/com/highcapable/flexiui/component/Scaffold.kt b/flexiui-core/src/commonMain/kotlin/com/highcapable/flexiui/component/Scaffold.kt index d592929..ddf7dca 100644 --- a/flexiui-core/src/commonMain/kotlin/com/highcapable/flexiui/component/Scaffold.kt +++ b/flexiui-core/src/commonMain/kotlin/com/highcapable/flexiui/component/Scaffold.kt @@ -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 ) {