项目中须要实现侧滑删除功能,在git上搜到了yanzhenjie的SwipeRecyclerView库,感受很强大,支持 RecyclerView侧滑菜单,Item拖拽,滑动删除Item,自动加载更多,HeaderView,FooterView,Item分组黏贴等。java
项目地址:https://github.com/yanzhenjie/SwipeRecyclerViewgit
侧滑删除用法:github
一,引用库:ide
1,Gradle布局
compile 'com.yanzhenjie:recyclerview-swipe:1.1.2'
or2, Mavencode
<dependency> <groupId>com.yanzhenjie</groupId> <artifactId>recyclerview-swipe</artifactId> <version>1.1.2</version> <type>pom</type> </dependency>
二,开始使用xml
1, 在xml中引用SwipeRecyclerView:继承
<com.yanzhenjie.recyclerview.swipe.SwipeMenuRecyclerView .../>
2,侧滑菜单实现ip
// 设置监听器。 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,设置菜单点击监听it
swipeMenuRecyclerView.setSwipeMenuItemClickListener(menuItemClickListener);
4,适配器就正常继承RecyclerView.Adapter<>就能够了,就是还按照以前的该怎么写就怎么写
5,搞定~
三,发现了一个弊端,就是侧滑的菜单只能在onCreateMenu中new出来,不能直接在布局中本身定义,这样就会有一些局限性,但愿能改进吧~