我正在批量读取一个大文件(从第一行开始向下读取)。当用户到达一批文件的末尾时,我希望他们能够向上滑动(将手指从列表底部拖到顶部)以加载更多内容。
Material3pullToRefresh
工作正常,但前提是要从上往下拉。有没有办法反转方向?我想不通。我可以检测到我何时位于列表底部,但我希望拉动...所以这个动作是故意的。
val pullToRefreshState = rememberPullToRefreshState()
LazyColumnScrollbar(
state = listState,
modifier = Modifier.pullToRefresh(
isRefreshing = isLoading.value,
state = pullToRefreshState,
enabled = true,
onRefresh = { refresh() },
*** direction = BottomTop *** // something like that
)
) {
LazyColumn(){}
}
或者有其他替代方案吗?
虽然无法开箱即用,但您可以通过创建自己的
InversePullToRefreshBox
Composable 来实现所需的行为。我根据原始源代码创建了以下文件,并做了一些必要的调整。InversePullToRefresh.kt
用法:
输出:
笔记
这些 Compose API 仍处于实验阶段。使用此方法时,将来可能需要重构
InversePullToRefresh.kt
文件。