项目中需要实现侧滑删除功能,在git上搜到了yanzhenjie的SwipeRecyclerView库,感觉很强大,支持 RecyclerView侧滑菜单,Item拖拽,滑动删除Item,自动加载更多,HeaderView,FooterView,Item分组黏贴等。
项目地址:/yanzhenjie/SwipeRecyclerView
侧滑删除用法:
一,引用库:
1,Gradle
compile 'com.yanzhenjie:recyclerview-swipe:1.1.2'
or2, Maven
com.yanzhenjie
recyclerview-swipe
1.1.2
pom
二,开始使用
1, 在xml中引用SwipeRecyclerView:
.../>
2,侧滑菜单实现
// 设置监听器。
swipeRecyclerView.setSwipeMenuCreator(mSwipeMenuCreator);
// 创建菜单:
SwipeMenuCreator mSwipeMenuCreator = new SwipeMenuCreator() {
@Override
public void onCreateMenu(SwipeMenu leftMenu, SwipeMenu rightMenu, int viewType) {
SwipeMenuItem deleteItem = new SwipeMenuItem(mContext)
...; // 各种文字和图标属性设置。
leftMenu.addMenuItem(deleteItem); // 在Item左侧添加一个菜单。
SwipeMenuItem deleteItem = new SwipeMenuItem(mContext)
...; // 各种文字和图标属性设置。
leftMenu.addMenuItem(deleteItem); // 在Item右侧添加一个菜单。
// 注意:哪边不想要菜单,那么不要添加即可。
}
};
3,设置菜单点击监听
swipeMenuRecyclerView.setSwipeMenuItemClickListener(menuItemClickListener);
4,适配器就正常继承RecyclerView.Adapter<>就可以了,就是还按照之前的该怎么写就怎么写
5,搞定~
三,发现了一个弊端,就是侧滑的菜单只能在onCreateMenu中new出来,不能直接在布局中自己定义,这样就会有一些局限性,希望能改进吧~