박찬준*_*박찬준 8 android android-jetpack-compose
下图解释了我想要实现的规范
如果用户将上一个(或下一个)项目拖动到某个项目,我想让 Lazy Row 滚动项目X_SCROLL_THRESHOLD。
我考虑尝试Pager在 Jetpack 撰写示例应用程序Jet Caster,但我想显示相当多的项目(1788 个项目),所以,我不确定Pager方法比使用LazyRow.
有没有办法在 android Jetpack Compose 中自定义 LazyRow 拖动或滚动行为?
您可以尝试寻呼机布局。目前它是一个实验性 API。希望 Google 开发人员尽快将其纳入通用撰写库的一部分。
使用rememberPagerState来管理initialOffscreenLimit(当前页面两侧保留的页面数)。
https://google.github.io/accompanist/pager/
Google Github 示例链接 - https://github.com/google/accompanist/tree/main/sample/src/main/java/com/google/accompanist/sample/pager
您需要在应用程序 gradle 中包含此依赖项
//Pager
implementation "com.google.accompanist:accompanist-pager:0.18.0"
Run Code Online (Sandbox Code Playgroud)
一个简单的例子
// Display 10 items
val pagerState = rememberPagerState(
pageCount = 10,
initialOffscreenLimit = 2
)
HorizontalPager(state = pagerState) { page ->
// Our page content
Column(
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center,
modifier = Modifier.fillMaxSize()
) {
Text(
text = "Item: $page",
textAlign = TextAlign.Center,
modifier = Modifier.fillMaxWidth()
)
Text(
text = "Something Else",
textAlign = TextAlign.Center,
modifier = Modifier.fillMaxWidth()
)
//Your other composable
}
}
Run Code Online (Sandbox Code Playgroud)
布局检查器显示当前页面两侧的屏幕外限制为 2 个项目
| 归档时间: |
|
| 查看次数: |
2046 次 |
| 最近记录: |