From fab44fabea3cafe094374e4244746606a2ce3b33 Mon Sep 17 00:00:00 2001 From: fansan Date: Wed, 17 Jun 2026 23:56:45 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9Anav=E9=AB=98=E5=BA=A6=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E8=BE=B9=E7=95=8C=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/legado/app/ui/book/read/ReadBookMenuBar.kt | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/book/read/ReadBookMenuBar.kt b/app/src/main/java/io/legado/app/ui/book/read/ReadBookMenuBar.kt index 8781da182..746b18450 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/ReadBookMenuBar.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/ReadBookMenuBar.kt @@ -6,10 +6,8 @@ import androidx.compose.animation.AnimatedContent import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.SizeTransform import androidx.compose.animation.animateContentSize -import androidx.compose.animation.core.LinearOutSlowInEasing import androidx.compose.animation.core.animateDpAsState import androidx.compose.animation.core.animateFloatAsState -import androidx.compose.animation.core.tween import androidx.compose.animation.fadeIn import androidx.compose.animation.fadeOut import androidx.compose.animation.slideInHorizontally @@ -73,6 +71,7 @@ import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.SideEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableFloatStateOf import androidx.compose.runtime.mutableIntStateOf @@ -413,11 +412,13 @@ private fun ReadBookMenuSurface( } val isFloating = state.menuConfig.readMenuFloatingBottomBar val currentNavBarHeight = with(density) { WindowInsets.navigationBars.getBottom(this).toDp() } - var maxNavBarHeightValue by rememberSaveable { mutableFloatStateOf(0f) } - if (currentNavBarHeight.value > maxNavBarHeightValue) { - maxNavBarHeightValue = currentNavBarHeight.value + var lastValidNavBarHeightValue by rememberSaveable { mutableFloatStateOf(currentNavBarHeight.value) } + SideEffect { + if (currentNavBarHeight.value > 0f) { + lastValidNavBarHeightValue = currentNavBarHeight.value + } } - val navBarHeight = if (currentNavBarHeight.value > 0f) currentNavBarHeight else maxNavBarHeightValue.dp + val navBarHeight = if (currentNavBarHeight.value > 0f) currentNavBarHeight else lastValidNavBarHeightValue.dp val floatingHorizontalMargin = if (isFloating) 16.dp else 0.dp val floatingBottomMargin = if (isFloating) 16.dp + navBarHeight else 0.dp val mainHorizontalMargin =