From 0d00ae207aef836e2cb6b39af23caa4a0211e543 Mon Sep 17 00:00:00 2001 From: GG Bond Date: Fri, 24 Nov 2023 21:35:44 +0800 Subject: [PATCH] Drawer blurs behind --- .../androidx/compose/material3/NavigationDrawer2.kt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/androidx/compose/material3/NavigationDrawer2.kt b/app/src/main/kotlin/androidx/compose/material3/NavigationDrawer2.kt index cf990254e..55f6c084e 100644 --- a/app/src/main/kotlin/androidx/compose/material3/NavigationDrawer2.kt +++ b/app/src/main/kotlin/androidx/compose/material3/NavigationDrawer2.kt @@ -32,6 +32,7 @@ import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.blur import androidx.compose.ui.draw.scale import androidx.compose.ui.graphics.Color import androidx.compose.ui.input.pointer.pointerInput @@ -47,6 +48,7 @@ import androidx.compose.ui.unit.Density import androidx.compose.ui.unit.IntOffset import androidx.compose.ui.unit.LayoutDirection import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.lerp import androidx.compose.ui.util.lerp import com.hippo.ehviewer.ui.tools.animateFloatMergeOneWayPredictiveBackAsState import kotlin.math.roundToInt @@ -298,7 +300,9 @@ fun ModalNavigationDrawer( Modifier } Box(modifier.fillMaxSize().then(dragModifier)) { - Box { + val step = calculateFraction(minValue, maxValue, drawerState.currentOffset) + val radius = lerp(0.dp, 10.dp, step) + Box(modifier = Modifier.blur(radius)) { content() } Scrim( @@ -419,7 +423,9 @@ fun SideDrawer( Modifier } Box(modifier.fillMaxSize().then(dragModifier)) { - Box { + val step = calculateFraction(minValue, maxValue, drawerState.currentOffset) + val radius = lerp(0.dp, 10.dp, step) + Box(modifier = Modifier.blur(radius)) { content() } Scrim(