簡介
我擼了個BoardView,恩,沒錯,應用場景是什麼呢,主要是協同辦公軟體的看板檢視。像這樣
功能
對於移動端的協同辦公來說,有哪些功能,我們可能需要呢?
- 同一列中的拖拽排序
- 列拖拽排序
- 同一個任務在不同列之間的拖拽排序
- 放大縮小
- 其他
看一下gif,圖比較大,耐心等待。
實現原理
那麼,實現原理是什麼呢?我們知道用RecyclerView很容易可以實現拖拽,通過觀察ItemTouchHelper的程式碼,發現,這一些效果 都是Item動畫的關係。因為 我們可以參考。
- 最外層的拖拽,直接用ItemTouchHelper,但是我們需要改一下,讓我們的落點在title的位置才響應longclick
- 內層的拖拽,就根據落點的位置,對Adapter進行插入 刪除 移動的操作
程式碼
程式碼在這裡 BoardView .
雖然還有些許的bug,喜歡的給個star吧。