[英]Resistance with scroll in HorizontalPager in Jetpack Compose
[英]Compose - Scroll VerticalPager to the top when outer HorizontalPager is scrolled
我在 HorizontalPager 中有一個 VerticalPager。
當我將 VerticalPager 向下滾動到 HorizontalPager 第一頁的第 N 頁,然后滾動到 HorizontalPager 中的其他頁面,然后返回到 HorizontalPager 的第一頁時,我在 VerticalPager 中向下滾動到的第 N 頁被保存。
我希望在滾動 HorizontalPager 時始終打開 VerticalPager 的第一頁(而不是我瀏覽到的第 N 頁)。
我怎樣才能做到這一點?
我的代碼:
val pagerState = rememberPagerState()
HorizontalPager(count = myList.size, state = pagerState) {
idx ->
myList[idx].let { cur ->
val verPagerState = rememberPagerState(initialPage = 0)
VerticalPager(
count = cur.photos.size,
state = verPagerState
) { page ->
}
}
}
當頁面不再可見時,您可以通過以下方式手動滾動它。
我使用snapshotFlow
,它創建一個流,當內部使用的 state 發生變化時發出值。
val verPagerState = rememberPagerState(initialPage = 0)
LaunchedEffect(Unit) {
snapshotFlow {
!pagerState.isScrollInProgress
&& pagerState.currentPage != idx
&& verPagerState.currentPage != 0
}.filter { it }
.collect {
verPagerState.scrollToPage(0)
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.