android-jetpack-compose - 如何使用 Jepack compose 实现拖动排序列表?
问题描述
我想实现一个拖拽排序列表,像拖拽排序回收器视图/网格视图这样的功能,但是使用jetpack compose。
解决方案
使用这个库它的帮助,这是我使用的一个例子
implementation("org.burnoutcrew.composereorderable:reorderable:0.6.1")
val state = rememberReorderState()
val list=notes.toMutableList()
LazyColumn(
state = state.listState,
modifier = Modifier.reorderable(state, { a, b -> list.move(a, b) })
) {
items(list, { it.id }) { noteIndex ->
Note(
Modifier
.draggedItem(state.offsetByKey(noteIndex.id))
.detectReorderAfterLongPress(state),
note = noteIndex,
onNoteClick = onNoteClick,
onNoteCheckedChange = onNoteCheckedChange
)
}
}
推荐阅读
- c# - 如何在 C# 中使用 linq 在一个公共键字段上合并两个字典
- npm - 错误:请验证 package.json 是否有有效的“主”条目
- javascript - 与使用反应钩子的先前状态实现相关的问题
- javascript - 尝试使用 PointerLockControls、WASD 键和 Three.js
- javascript - ISOTOPE - 一页上有 2 个网格
- ios - 一旦我们在 SwiftUI iOS 中获得 openurl,如何关闭 SFSafariviewcontroller?
- node.js - 设置忘记密码重置链接(MERN 堆栈)
- javascript - 点击模型时不要点击屏幕
- javascript - 如何使按钮更改在本机反应中显示的组件?
- ruby-on-rails - disable_ddl_transaction 的等价物是什么!种子迁移?