Reorderable是Calvin-LL开源维护、基于Kotlin开发的轻量级拖拽重排组件库,适配Jetpack Compose与Compose Multiplatform,该库专为列表、网格拖拽排序设计,一站式封装手势识别、边缘自动滚动、位移动画、状态同步等底层逻辑,大幅降低Compose拖拽功能开发成本。完整支持Android、iOS、桌面JVM、Web多端统一交互,兼容懒加载列表、网格、普通线性布局,支持异构尺寸条目、自定义拖拽手柄、禁用指定条目拖动,内置流畅过渡动画,仅需少量代码即可实现待办清单、桌面应用排序、素材拖拽整理等场景,无冗余依赖、体积轻巧,广泛用于Compose跨平台项目开发。

Reorderable软件核心特色
全布局全平台兼容,
同时适配Lazy懒加载列表/网格、基础Column/Row,一套代码跑通安卓、苹果、桌面、网页多端。
高度自定义拖拽交互,
支持长按/即时拖拽双触发,可指定子视图作为拖拽手柄,单独锁定条目禁止拖动。
智能滚动与流畅动画,
拖拽到屏幕边缘自动滚动,越靠近边缘速度越快;依托官方animateItemPlacement实现顺滑位移动画。
轻量无侵入架构,
纯声明式Compose API,状态驱动单向数据流,自动同步UI与数据源,极少出现索引错乱、界面闪烁问题。
Reorderable软件怎么使用
1. 打开Reorderable示例Demo首页,页面分类展示懒列表、网格、普通Column等多种拖拽排序测试案例入口;

2. 进入简易纵向懒列表演示页面,每条条目右侧配有拖拽手柄,长按手柄即可上下拖动调整条目顺序;

3. 打开带粘性分组标题的列表Demo,分组表头固定不参与拖动,仅组内条目可自由拖拽重排;

4. 切换双列表联动演示界面,页面分为两组独立列表,条目支持同组拖拽,实现分区排序展示效果。

Reorderable核心功能和内容
多布局拖拽排序,
纵向/横向懒列表、横竖网格、瀑布流、普通线性布局全部支持,适配绝大多数列表页面需求。
异构条目自适应,
自动处理高度/宽度不一致的列表项,拖拽位移计算精准,不会出现布局错位、遮挡问题。
灵活条目权限控制,
单独设置部分条目不可拖拽,完美区分分组标题、分割线、固定置顶项等特殊元素。
完整拖拽生命周期回调,
提供拖动开始、移动、释放、条目换位事件,方便业务保存排序、触发埋点、弹窗提示。
极简接入方式,
引入Maven依赖后,通过rememberReorderableState管理数据,添加modifier修饰列表即可快速集成,无需自定义手势底层逻辑。
Reorderable软件好用吗
开发效率极高,
传统原生拖拽需要数百行手势、动画代码,使用本库十几行即可完成完整排序功能,大幅缩减开发周期。
跨端交互统一,
安卓、iOS、桌面端拖拽手感、滚动逻辑完全一致,不用分平台重复适配交互细节。
运行稳定低bug,
内部处理手势冲突、懒加载复用、边界索引越界等常见坑,线上极少出现崩溃、数据错乱问题。
拓展性充足,
支持自定义拖拽悬浮样式、震动反馈、滚动速率,可贴合项目设计语言定制专属拖拽视觉效果。
软件测评
Reorderable是目前Compose生态最优拖拽排序开源方案,轻量、稳定、自定义能力均衡,覆盖绝大多数拖拽业务场景,跨平台特性对多端项目十分友好。底层封装完善,规避了手写拖拽的大量兼容性与逻辑缺陷,动画与边缘滚动交互自然流畅。不足在于仅适配Compose体系,传统View项目无法直接使用;复杂多层嵌套布局时,少量手势冲突需要手动调整层级。适合所有采用Jetpack Compose/Compose Multiplatform开发、需要列表拖拽重排功能的开发者,是生产环境首选库。
更新日志
修复已知问题
| 厂商名称 | |
| 包名 | sh.calvin.reorderable.demo |
| 名称 | Reorderable |
| 版本 | 3.1.0 |
| MD5 | 323a282a0752f01794c8846c9cae7a33 |
| 性质 | 国产软件 |
| 授权 | 免费软件 |
| 语言 | 中文 |


















