实战ItemTouchHelper仿网易新闻客户端自定义栏目页面
生活随笔
收集整理的這篇文章主要介紹了
实战ItemTouchHelper仿网易新闻客户端自定义栏目页面
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉載請標明出處:
http://blog.csdn.net/zeeeeeeee/article/details/51458643
前天看了鴻洋大神推送的文章,發現了ItemTouchHelper這個東東~
真的是相見恨晚啊~
重拾起荒廢已久的博客。。。。
其實自己有記筆記的習慣,慢慢整理下,跟大家分享!
之前做的項目就有類似的效果,搞得那是一把辛酸一把淚~
晚上忍不住,擼了一下,爽歪歪
來張效果圖
基于RecyClerView + ItemTouchHelper實現,相當簡單,關于ItemTouchHelper可以去網上搜索,或者去看下hongyang大神推送的那篇博客。
這里我就不再闡述了,為了方便使用,我對拖拽的一些操作進行了小小的封裝。只需兩步就可以輕松實現拖拽效果啦~
使用步驟
一、實現接口
為recyclerView的Adapter實現DragItemData接口,并實現其中的notifyItemRemoved和getDatas()方法
public interface DragItemData{public List getDatas();public void notifyItemRemoved(int position); }二、初始化DragItemHelper
DragItemHelper mDragItemHelper = new DragItemHelper(mListRecyView,myListAdapter);mListRecyView:目標RecyClearView
myListAdapter:實現DragItemData接口的Adapter
這樣就可以實現簡單的拖動效果啦,為了方便使用,對一些常用操作也封裝了幾個方法
/*** 禁止拖動的Position* @param positions*/public void addInvalidPos(Integer...positions){mDragItemCallback.addinvalidPositons(positions);} /**** @param islongPress* true : 全部無法拖動* fals : 清空所有不可拖動項*/public void isLongPressDragEnabled(boolean islongPress){ /*** 拖動開始和結束的回調* @param dragStateCallback*/public void setDragStateCallback(DragItemCallback.DragStateCallback dragStateCallback){mDragItemCallback.setmDragStateCallback(dragStateCallback);}源碼下載地址
總結
以上是生活随笔為你收集整理的实战ItemTouchHelper仿网易新闻客户端自定义栏目页面的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用java编写台球小游戏项目
- 下一篇: 【ZZULIOJ】1092: 素数表(函