Я создал HorizontalPager с шириной, которая соответствует экрану. Тем не менее, я заметил, что когда я использую жест свисания на краю на телефоне, чтобы вернуться к предыдущему экрану, это на мгновение заставляет HorizontalPager прокручивать. Это обеспечивает очень плохой пользовательский опыт. Как я могу предотвратить его перемещение? Я заметил, что у других приложений нет этой проблемы, хотя они не могут быть написаны с помощью Compose.val pagerState = rememberPagerState(initialPage = 0, pageCount = { 2 })
val pagerStateInner = rememberPagerState(initialPage = 0, pageCount = { 3 })
HorizontalPager(
state = pagerState,
userScrollEnabled = true,
) { pageOut ->
if (pageOut == 0) {
HorizontalPager(
state = pagerStateInner,
userScrollEnabled = true,
) { pageInner ->
Column(
modifier = Modifier
.fillMaxSize()
.background(Color.Gray),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
) {
Text(
text = "this inner ${pageInner}"
)
}
}
} else {
Column(
modifier = Modifier
.fillMaxSize()
.background(Color.Blue),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
) {
Text(
text = "this out ${pageOut}"
)
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... hen-swipin