简介
我撸了个BoardView,恩,没错,应用场景是什么呢,主要是协同办公软件的看板视图。像这样
功能
对于移动端的协同办公来说,有哪些功能,我们可能需要呢?
- 同一列中的拖拽排序
- 列拖拽排序
- 同一个任务在不同列之间的拖拽排序
- 放大缩小
- 其他
看一下gif,图比较大,耐心等待。
实现原理
那么,实现原理是什么呢?我们知道用RecyclerView很容易可以实现拖拽,通过观察ItemTouchHelper的代码,发现,这一些效果 都是Item动画的关系。因为 我们可以参考。
- 最外层的拖拽,直接用ItemTouchHelper,但是我们需要改一下,让我们的落点在title的位置才响应longclick
- 内层的拖拽,就根据落点的位置,对Adapter进行插入 删除 移动的操作
代码
代码在这里 BoardView .
虽然还有些许的bug,喜欢的给个star吧。