Respect card opacity in search background

This commit is contained in:
MM20 2024-06-14 13:07:30 +02:00
parent 991f0c88d8
commit 892e4971a3
No known key found for this signature in database
GPG Key ID: 0B61A8F2DEAFA389
3 changed files with 23 additions and 5 deletions

View File

@ -1,6 +1,7 @@
package de.mm20.launcher2.ui.assistant
import androidx.compose.animation.core.animateDpAsState
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.grid.rememberLazyGridState
import androidx.compose.foundation.lazy.rememberLazyListState
@ -26,6 +27,7 @@ import de.mm20.launcher2.ui.launcher.gestures.LauncherGestureHandler
import de.mm20.launcher2.ui.launcher.search.SearchColumn
import de.mm20.launcher2.ui.launcher.search.SearchVM
import de.mm20.launcher2.ui.launcher.searchbar.LauncherSearchBar
import de.mm20.launcher2.ui.locals.LocalCardStyle
import de.mm20.launcher2.ui.locals.LocalDarkTheme
import de.mm20.launcher2.ui.locals.LocalPreferDarkContentOverWallpaper
import kotlinx.coroutines.delay
@ -162,9 +164,13 @@ fun AssistantScaffold(
if (actions.isEmpty()) 0.dp else 48.dp
)
val windowInsets = WindowInsets.safeDrawing.asPaddingValues()
val cardStyle = LocalCardStyle.current
Box(
modifier = modifier
.fillMaxSize()
.background(
MaterialTheme.colorScheme.surfaceContainer.copy(alpha = 0.85f * cardStyle.opacity)
)
.nestedScroll(nestedScrollConnection)
) {
SearchColumn(

View File

@ -30,7 +30,6 @@ import androidx.compose.foundation.layout.requiredWidth
import androidx.compose.foundation.layout.safeDrawing
import androidx.compose.foundation.layout.systemBarsPadding
import androidx.compose.foundation.layout.windowInsetsPadding
import androidx.compose.foundation.lazy.grid.rememberLazyGridState
import androidx.compose.foundation.lazy.rememberLazyListState
import androidx.compose.foundation.pager.HorizontalPager
import androidx.compose.foundation.pager.PagerDefaults
@ -75,7 +74,6 @@ import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.platform.LocalHapticFeedback
import androidx.compose.ui.platform.LocalLayoutDirection
import androidx.compose.ui.platform.LocalSoftwareKeyboardController
import androidx.compose.ui.platform.LocalViewConfiguration
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.IntOffset
@ -98,6 +96,7 @@ import de.mm20.launcher2.ui.launcher.search.SearchVM
import de.mm20.launcher2.ui.launcher.searchbar.LauncherSearchBar
import de.mm20.launcher2.ui.launcher.widgets.WidgetColumn
import de.mm20.launcher2.ui.launcher.widgets.clock.ClockWidget
import de.mm20.launcher2.ui.locals.LocalCardStyle
import de.mm20.launcher2.ui.locals.LocalDarkTheme
import de.mm20.launcher2.ui.locals.LocalPreferDarkContentOverWallpaper
import kotlinx.coroutines.launch
@ -196,7 +195,13 @@ fun PagerScaffold(
val colorSurface = MaterialTheme.colorScheme.surface
val isDarkTheme = LocalDarkTheme.current
LaunchedEffect(isWidgetEditMode, darkStatusBarIcons, colorSurface, showStatusBarScrim, isSearchOpen) {
LaunchedEffect(
isWidgetEditMode,
darkStatusBarIcons,
colorSurface,
showStatusBarScrim,
isSearchOpen
) {
if (isWidgetEditMode) {
systemUiController.setStatusBarColor(
colorSurface
@ -403,13 +408,18 @@ fun PagerScaffold(
val minFlingVelocity = 1000.dp.toPixels()
val colorSurfaceContainer = MaterialTheme.colorScheme.surfaceContainer
val cardStyle = LocalCardStyle.current
HorizontalPager(
modifier = Modifier
.fillMaxSize()
.drawBehind {
drawRect(
color = colorSurfaceContainer.copy(alpha = -pagerState.getOffsetDistanceInPages(0) * 0.85f),
color = colorSurfaceContainer.copy(
alpha = -pagerState.getOffsetDistanceInPages(
0
) * 0.85f * cardStyle.opacity
),
)
}
.nestedScroll(pagerNestedScrollConnection),

View File

@ -83,6 +83,7 @@ import de.mm20.launcher2.ui.launcher.search.SearchVM
import de.mm20.launcher2.ui.launcher.searchbar.LauncherSearchBar
import de.mm20.launcher2.ui.launcher.widgets.WidgetColumn
import de.mm20.launcher2.ui.launcher.widgets.clock.ClockWidget
import de.mm20.launcher2.ui.locals.LocalCardStyle
import de.mm20.launcher2.ui.locals.LocalDarkTheme
import de.mm20.launcher2.ui.locals.LocalPreferDarkContentOverWallpaper
import kotlinx.coroutines.launch
@ -387,11 +388,12 @@ fun PullDownScaffold(
val insets = WindowInsets.safeDrawing.asPaddingValues()
val colorSurfaceContainer = MaterialTheme.colorScheme.surfaceContainer
val cardStyle = LocalCardStyle.current
Box(
modifier = modifier
.drawBehind {
drawRect(
color = colorSurfaceContainer.copy(alpha = -pagerState.getOffsetDistanceInPages(0) * 0.85f),
color = colorSurfaceContainer.copy(alpha = -pagerState.getOffsetDistanceInPages(0) * 0.85f * cardStyle.opacity),
)
}
.pointerInput(Unit) {