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