项目中需要实现侧滑删除功能,在git上搜到了yanzhenjie的SwipeRecyclerView库,感觉很强大,支持 RecyclerView侧滑菜单,Item拖拽,滑动删除Item,自动加载更多,HeaderView,FooterView,Item分组黏贴等。
项目地址:https://github.com/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出来,不能直接在布局中自己定义,这样就会有一些局限性,希望能改进吧~