Skip to content

Commit e57175f

Browse files
committed
library: TopAppBar: Move windowInsetsPadding again
1 parent 47826b4 commit e57175f

File tree

1 file changed

+47
-28
lines changed
  • miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/basic

1 file changed

+47
-28
lines changed

miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/basic/TopAppBar.kt

Lines changed: 47 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -115,18 +115,18 @@ fun TopAppBar(
115115
// app bar's defined constant height value (i.e. the ContainerHeight token).
116116
Surface(
117117
color = color,
118-
modifier = if (defaultWindowInsetsPadding) {
118+
modifier =
119119
modifier
120-
.windowInsetsPadding(WindowInsets.displayCutout.only(WindowInsetsSides.Horizontal))
121-
.windowInsetsPadding(WindowInsets.navigationBars.only(WindowInsetsSides.Horizontal))
122-
.windowInsetsPadding(WindowInsets.statusBars.only(WindowInsetsSides.Top))
123-
.windowInsetsPadding(WindowInsets.captionBar.only(WindowInsetsSides.Top))
124-
} else {
125-
modifier
126-
}
127-
.pointerInput(Unit) {
128-
detectVerticalDragGestures { _, _ -> }
129-
}
120+
.pointerInput(Unit) {
121+
detectVerticalDragGestures { _, _ -> }
122+
}
123+
.then(
124+
if (defaultWindowInsetsPadding) {
125+
Modifier
126+
.windowInsetsPadding(WindowInsets.displayCutout.only(WindowInsetsSides.Horizontal))
127+
.windowInsetsPadding(WindowInsets.navigationBars.only(WindowInsetsSides.Horizontal))
128+
} else Modifier
129+
)
130130
) {
131131
TopAppBarLayout(
132132
title = title,
@@ -135,7 +135,8 @@ fun TopAppBar(
135135
actions = actionsRow,
136136
scrolledOffset = { scrollBehavior?.state?.heightOffset ?: 0f },
137137
expandedHeightPx = expandedHeightPx,
138-
horizontalPadding = horizontalPadding
138+
horizontalPadding = horizontalPadding,
139+
defaultWindowInsetsPadding = defaultWindowInsetsPadding
139140
)
140141
}
141142
}
@@ -172,24 +173,25 @@ fun SmallTopAppBar(
172173
// app bar's defined constant height value (i.e. the ContainerHeight token).
173174
Surface(
174175
color = color,
175-
modifier = if (defaultWindowInsetsPadding) {
176-
modifier
177-
.windowInsetsPadding(WindowInsets.displayCutout.only(WindowInsetsSides.Horizontal))
178-
.windowInsetsPadding(WindowInsets.navigationBars.only(WindowInsetsSides.Horizontal))
179-
.windowInsetsPadding(WindowInsets.statusBars.only(WindowInsetsSides.Top))
180-
.windowInsetsPadding(WindowInsets.captionBar.only(WindowInsetsSides.Top))
181-
} else {
176+
modifier =
182177
modifier
183-
}
184-
.pointerInput(Unit) {
185-
detectVerticalDragGestures { _, _ -> }
186-
}
178+
.pointerInput(Unit) {
179+
detectVerticalDragGestures { _, _ -> }
180+
}
181+
.then(
182+
if (defaultWindowInsetsPadding) {
183+
Modifier
184+
.windowInsetsPadding(WindowInsets.displayCutout.only(WindowInsetsSides.Horizontal))
185+
.windowInsetsPadding(WindowInsets.navigationBars.only(WindowInsetsSides.Horizontal))
186+
} else Modifier
187+
)
187188
) {
188189
SmallTopAppBarLayout(
189190
title = title,
190191
navigationIcon = navigationIcon,
191192
actions = actionsRow,
192-
horizontalPadding = horizontalPadding
193+
horizontalPadding = horizontalPadding,
194+
defaultWindowInsetsPadding = defaultWindowInsetsPadding
193195
)
194196
}
195197
}
@@ -547,7 +549,8 @@ private fun TopAppBarLayout(
547549
actions: @Composable () -> Unit,
548550
scrolledOffset: ScrolledOffset,
549551
expandedHeightPx: Float,
550-
horizontalPadding: Dp
552+
horizontalPadding: Dp,
553+
defaultWindowInsetsPadding: Boolean
551554
) {
552555
val extOffset = abs(scrolledOffset.offset()) / expandedHeightPx * 2
553556
val alpha by animateFloatAsState(
@@ -605,6 +608,13 @@ private fun TopAppBarLayout(
605608
}
606609
},
607610
modifier = Modifier
611+
.then(
612+
if (defaultWindowInsetsPadding) {
613+
Modifier
614+
.windowInsetsPadding(WindowInsets.statusBars.only(WindowInsetsSides.Top))
615+
.windowInsetsPadding(WindowInsets.captionBar.only(WindowInsetsSides.Top))
616+
} else Modifier
617+
)
608618
.heightIn(max = 56.dp + TopAppBarExpandedHeight)
609619
.clipToBounds()
610620
) { measurables, constraints ->
@@ -701,7 +711,8 @@ private fun SmallTopAppBarLayout(
701711
title: String,
702712
navigationIcon: @Composable () -> Unit,
703713
actions: @Composable () -> Unit,
704-
horizontalPadding: Dp
714+
horizontalPadding: Dp,
715+
defaultWindowInsetsPadding: Boolean
705716
) {
706717
Layout(
707718
{
@@ -730,8 +741,16 @@ private fun SmallTopAppBarLayout(
730741
actions()
731742
}
732743
},
733-
modifier = Modifier
734-
.heightIn(max = 56.dp)
744+
modifier =
745+
Modifier
746+
.then(
747+
if (defaultWindowInsetsPadding) {
748+
Modifier
749+
.windowInsetsPadding(WindowInsets.statusBars.only(WindowInsetsSides.Top))
750+
.windowInsetsPadding(WindowInsets.captionBar.only(WindowInsetsSides.Top))
751+
} else Modifier
752+
)
753+
.heightIn(max = 56.dp)
735754
) { measurables, constraints ->
736755
val navigationIconPlaceable =
737756
measurables

0 commit comments

Comments
 (0)