|
@@ -4,6 +4,7 @@ import android.content.Context
|
|
|
import androidx.compose.animation.AnimatedVisibility
|
|
import androidx.compose.animation.AnimatedVisibility
|
|
|
import androidx.compose.animation.core.FastOutSlowInEasing
|
|
import androidx.compose.animation.core.FastOutSlowInEasing
|
|
|
import androidx.compose.animation.core.tween
|
|
import androidx.compose.animation.core.tween
|
|
|
|
|
+import androidx.compose.foundation.gestures.Orientation
|
|
|
import androidx.compose.foundation.layout.Column
|
|
import androidx.compose.foundation.layout.Column
|
|
|
import androidx.compose.foundation.layout.Spacer
|
|
import androidx.compose.foundation.layout.Spacer
|
|
|
import androidx.compose.foundation.layout.fillMaxWidth
|
|
import androidx.compose.foundation.layout.fillMaxWidth
|
|
@@ -46,7 +47,6 @@ import androidx.compose.ui.Alignment
|
|
|
import androidx.compose.ui.Modifier
|
|
import androidx.compose.ui.Modifier
|
|
|
import androidx.compose.ui.draw.clip
|
|
import androidx.compose.ui.draw.clip
|
|
|
import androidx.compose.ui.draw.clipToBounds
|
|
import androidx.compose.ui.draw.clipToBounds
|
|
|
-import androidx.compose.ui.input.nestedscroll.nestedScroll
|
|
|
|
|
import androidx.compose.ui.graphics.Color
|
|
import androidx.compose.ui.graphics.Color
|
|
|
import androidx.compose.ui.graphics.vector.ImageVector
|
|
import androidx.compose.ui.graphics.vector.ImageVector
|
|
|
import androidx.compose.ui.layout.onSizeChanged
|
|
import androidx.compose.ui.layout.onSizeChanged
|
|
@@ -69,7 +69,7 @@ import io.legado.app.ui.book.read.ReadBookButtonConfigItem
|
|
|
import io.legado.app.ui.book.read.ReadBookIntent
|
|
import io.legado.app.ui.book.read.ReadBookIntent
|
|
|
import io.legado.app.ui.book.read.ReadBookSheet
|
|
import io.legado.app.ui.book.read.ReadBookSheet
|
|
|
import io.legado.app.ui.theme.LegadoTheme
|
|
import io.legado.app.ui.theme.LegadoTheme
|
|
|
-import io.legado.app.ui.widget.components.pager.rememberConsumeHorizontalPagerNestedScrollConnection
|
|
|
|
|
|
|
+import io.legado.app.ui.widget.components.pager.rememberPagerFlingPassThroughConnection
|
|
|
import io.legado.app.ui.widget.components.SectionTitle
|
|
import io.legado.app.ui.widget.components.SectionTitle
|
|
|
import io.legado.app.ui.widget.components.dialog.ColorPickerSheet
|
|
import io.legado.app.ui.widget.components.dialog.ColorPickerSheet
|
|
|
import io.legado.app.ui.widget.components.settingItem.TinyClearColorModeSettingItem
|
|
import io.legado.app.ui.widget.components.settingItem.TinyClearColorModeSettingItem
|
|
@@ -111,7 +111,10 @@ internal fun SystemMenuPage(
|
|
|
val pagerState = rememberPagerState(pageCount = { 3 })
|
|
val pagerState = rememberPagerState(pageCount = { 3 })
|
|
|
var selectedTab by remember { mutableIntStateOf(0) }
|
|
var selectedTab by remember { mutableIntStateOf(0) }
|
|
|
var clickScrollCount by remember { mutableIntStateOf(0) }
|
|
var clickScrollCount by remember { mutableIntStateOf(0) }
|
|
|
- val childPagerNestedScrollConnection = rememberConsumeHorizontalPagerNestedScrollConnection()
|
|
|
|
|
|
|
+ val childPagerNestedScrollConnection = rememberPagerFlingPassThroughConnection(
|
|
|
|
|
+ state = pagerState,
|
|
|
|
|
+ orientation = Orientation.Horizontal,
|
|
|
|
|
+ )
|
|
|
|
|
|
|
|
val pageHeights = remember { mutableStateMapOf<Int, Int>() }
|
|
val pageHeights = remember { mutableStateMapOf<Int, Int>() }
|
|
|
val animatedHeight by rememberPagerAnimatedHeight(pagerState, pageHeights)
|
|
val animatedHeight by rememberPagerAnimatedHeight(pagerState, pageHeights)
|
|
@@ -161,9 +164,9 @@ internal fun SystemMenuPage(
|
|
|
HorizontalPager(
|
|
HorizontalPager(
|
|
|
state = pagerState,
|
|
state = pagerState,
|
|
|
verticalAlignment = Alignment.Top,
|
|
verticalAlignment = Alignment.Top,
|
|
|
|
|
+ pageNestedScrollConnection = childPagerNestedScrollConnection,
|
|
|
modifier = Modifier
|
|
modifier = Modifier
|
|
|
.weight(1f, fill = false)
|
|
.weight(1f, fill = false)
|
|
|
- .nestedScroll(childPagerNestedScrollConnection)
|
|
|
|
|
.clipToBounds()
|
|
.clipToBounds()
|
|
|
.pagerHeight(animatedHeight),
|
|
.pagerHeight(animatedHeight),
|
|
|
) { page ->
|
|
) { page ->
|