Fix pager gesture triggers
This commit is contained in:
parent
2da325548b
commit
f723ba0e73
@ -267,7 +267,7 @@ fun PagerScaffold(
|
||||
val density = LocalDensity.current
|
||||
val maxSearchBarOffset = with(density) { 128.dp.toPx() }
|
||||
|
||||
val nestedScrollConnection = remember {
|
||||
val pagerNestedScrollConnection = remember {
|
||||
object : NestedScrollConnection {
|
||||
override fun onPreScroll(available: Offset, source: NestedScrollSource): Offset {
|
||||
val drag = gestureManager.currentDrag
|
||||
@ -305,6 +305,10 @@ fun PagerScaffold(
|
||||
}
|
||||
}
|
||||
|
||||
val innerNestedScrollConnection = remember {
|
||||
object: NestedScrollConnection {}
|
||||
}
|
||||
|
||||
LaunchedEffect(pagerState.currentPage) {
|
||||
searchBarOffset.animateTo(0f)
|
||||
}
|
||||
@ -342,7 +346,9 @@ fun PagerScaffold(
|
||||
) {
|
||||
|
||||
HorizontalPager(
|
||||
modifier = Modifier.fillMaxSize(),
|
||||
modifier = Modifier
|
||||
.fillMaxSize()
|
||||
.nestedScroll(pagerNestedScrollConnection),
|
||||
beyondBoundsPageCount = 1,
|
||||
reverseLayout = reverse,
|
||||
state = pagerState,
|
||||
@ -353,8 +359,7 @@ fun PagerScaffold(
|
||||
stiffness = Spring.StiffnessMediumLow,
|
||||
),
|
||||
),
|
||||
// FIXME: Workaround https://issuetracker.google.com/issues/276738324
|
||||
pageNestedScrollConnection = nestedScrollConnection
|
||||
pageNestedScrollConnection = innerNestedScrollConnection,
|
||||
) {
|
||||
when (it) {
|
||||
0 -> {
|
||||
@ -568,8 +573,3 @@ fun PagerScaffold(
|
||||
onHomeButtonPress = handleBackOrHomeEvent,
|
||||
)
|
||||
}
|
||||
|
||||
private enum class Page {
|
||||
Widgets,
|
||||
Search
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user