android - 如何防止 Jetpack Compose 中的惰性列/行向一个方向滑动?

标签 android android-jetpack-compose

例如,我有一个惰性列;

Box(
    modifier = Modifier.fillMaxSize(),
    contentAlignment = Alignment.Center
) {
    LazyColumn(Modifier.height(100.dp).border(2.dp, Color.Red)) {
        items(20){
            Text(text = "Swipe")
        }
    }
}

查看;

enter image description here

我只想向下滑动而不是向上滑动。我怎样才能实现这个目标?

最佳答案

您可以创建一个 NestedScrollConnection 并在其中使用向上滚动。像这样的事情:

val nestedScrollConnection = remember {
    object : NestedScrollConnection {
        override fun onPreScroll(available: Offset, source: NestedScrollSource): Offset {
            val delta = available.y
            return if (delta < 0) {
                Offset.Zero
            } else {
                Offset(available.x, available.y)
            }
        }
    }
}

然后将其分配给您的 LazyColumn 修饰符:

LazyColumn(Modifier.height(100.dp).border(2.dp, Color.Red).nestedScroll(nestedScrollConnection)) {
        items(20){
            Text(text = "Swipe")
        }
    }

如果您想阻止向另一个方向滚动,请翻转 onPreScroll 方法中的 if 条件。

关于android - 如何防止 Jetpack Compose 中的惰性列/行向一个方向滑动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73660409/

相关文章:

android - 如何在 Jetpack Compose 中从 Alignment.Start 到 Align.End 设置动画?

android - Exoplayer 2 防止视频播放时屏幕变暗

java - eclipse : "The import java.io cannot be resolved"

android - 选择显示预览的设备,jetpack compose

android - Jetpack Compose 不响应模拟器上的键盘输入

android-jetpack-compose - 如何从子可组合项控制脚手架的 FloatingActionButton onClick?

android - 从 HTML 开始 Activity

java - Android 手机不转储堆栈跟踪

android - 为 ListView 中的项目设置背景

android - 从 Firestore 获取单词不会更新 LazyColumn Jetpack Compose