Tweak search result list appearance
This commit is contained in:
parent
9d3bdb4600
commit
fcc111b048
@ -23,6 +23,7 @@ import androidx.compose.ui.draw.shadow
|
|||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import de.mm20.launcher2.search.SavableSearchable
|
import de.mm20.launcher2.search.SavableSearchable
|
||||||
import de.mm20.launcher2.ui.ktx.animateCorners
|
import de.mm20.launcher2.ui.ktx.animateCorners
|
||||||
|
import de.mm20.launcher2.ui.ktx.animateShapeAsState
|
||||||
import de.mm20.launcher2.ui.layout.BottomReversed
|
import de.mm20.launcher2.ui.layout.BottomReversed
|
||||||
import de.mm20.launcher2.ui.theme.transparency.LocalTransparencyScheme
|
import de.mm20.launcher2.ui.theme.transparency.LocalTransparencyScheme
|
||||||
|
|
||||||
@ -108,9 +109,33 @@ fun LazyItemScope.ListItemSurface(
|
|||||||
}
|
}
|
||||||
|
|
||||||
val padding by transition.animateDp {
|
val padding by transition.animateDp {
|
||||||
if (it) 8.dp else 0.dp
|
if (it) 8.dp else 1.dp
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val shape by animateShapeAsState(
|
||||||
|
if (isExpanded) MaterialTheme.shapes.medium
|
||||||
|
else if (!isFirst && !isLast && !isAfterExpanded && !isBeforeExpanded) MaterialTheme.shapes.extraSmall
|
||||||
|
else {
|
||||||
|
val xs = MaterialTheme.shapes.extraSmall
|
||||||
|
val md = MaterialTheme.shapes.medium
|
||||||
|
if (reverse) {
|
||||||
|
xs.copy(
|
||||||
|
topStart = if (isLast || isBeforeExpanded) md.topStart else xs.topStart,
|
||||||
|
topEnd = if (isLast || isBeforeExpanded) md.topEnd else xs.topEnd,
|
||||||
|
bottomEnd = if (isFirst || isAfterExpanded) md.bottomEnd else xs.bottomEnd,
|
||||||
|
bottomStart = if (isFirst || isAfterExpanded) md.bottomStart else xs.bottomStart,
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
xs.copy(
|
||||||
|
topStart = if (isFirst || isAfterExpanded) md.topStart else xs.topStart,
|
||||||
|
topEnd = if (isFirst || isAfterExpanded) md.topEnd else xs.topEnd,
|
||||||
|
bottomEnd = if (isLast || isBeforeExpanded) md.bottomEnd else xs.bottomEnd,
|
||||||
|
bottomStart = if (isLast || isBeforeExpanded) md.bottomStart else xs.bottomStart,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
val modifier = if (reverse) {
|
val modifier = if (reverse) {
|
||||||
Modifier
|
Modifier
|
||||||
.padding(
|
.padding(
|
||||||
@ -119,12 +144,7 @@ fun LazyItemScope.ListItemSurface(
|
|||||||
)
|
)
|
||||||
.shadow(
|
.shadow(
|
||||||
elevation = elevation,
|
elevation = elevation,
|
||||||
MaterialTheme.shapes.medium.animateCorners(
|
shape,
|
||||||
bottomStart = isFirst || isExpanded || isAfterExpanded,
|
|
||||||
bottomEnd = isFirst || isExpanded || isAfterExpanded,
|
|
||||||
topEnd = isLast || isExpanded || isBeforeExpanded,
|
|
||||||
topStart = isLast || isExpanded || isBeforeExpanded,
|
|
||||||
),
|
|
||||||
true,
|
true,
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
@ -135,12 +155,7 @@ fun LazyItemScope.ListItemSurface(
|
|||||||
)
|
)
|
||||||
.shadow(
|
.shadow(
|
||||||
elevation = elevation,
|
elevation = elevation,
|
||||||
MaterialTheme.shapes.medium.animateCorners(
|
shape,
|
||||||
topStart = isFirst || isExpanded || isAfterExpanded,
|
|
||||||
topEnd = isFirst || isExpanded || isAfterExpanded,
|
|
||||||
bottomEnd = isLast || isExpanded || isBeforeExpanded,
|
|
||||||
bottomStart = isLast || isExpanded || isBeforeExpanded,
|
|
||||||
),
|
|
||||||
true,
|
true,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -152,9 +167,6 @@ fun LazyItemScope.ListItemSurface(
|
|||||||
.background(MaterialTheme.colorScheme.surface.copy(backgroundAlpha)),
|
.background(MaterialTheme.colorScheme.surface.copy(backgroundAlpha)),
|
||||||
verticalArrangement = if (reverse) Arrangement.BottomReversed else Arrangement.Top
|
verticalArrangement = if (reverse) Arrangement.BottomReversed else Arrangement.Top
|
||||||
) {
|
) {
|
||||||
AnimatedVisibility(!isFirst && !isExpanded && !isAfterExpanded) {
|
|
||||||
HorizontalDivider()
|
|
||||||
}
|
|
||||||
CompositionLocalProvider(LocalContentColor provides MaterialTheme.colorScheme.onSurface) {
|
CompositionLocalProvider(LocalContentColor provides MaterialTheme.colorScheme.onSurface) {
|
||||||
content()
|
content()
|
||||||
}
|
}
|
||||||
|
|||||||
@ -177,6 +177,9 @@ class ThemeRepository(
|
|||||||
corners = CornerStyle.Rounded,
|
corners = CornerStyle.Rounded,
|
||||||
radii = intArrayOf(24, 24, 24, 24),
|
radii = intArrayOf(24, 24, 24, 24),
|
||||||
),
|
),
|
||||||
|
extraSmall = Shape(
|
||||||
|
radii = intArrayOf(4, 4, 4, 4),
|
||||||
|
),
|
||||||
extraLarge = Shape(
|
extraLarge = Shape(
|
||||||
radii = intArrayOf(36, 36, 36, 36),
|
radii = intArrayOf(36, 36, 36, 36),
|
||||||
),
|
),
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user