項目中須要實現側滑刪除功能,在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出來,不能直接在佈局中本身定義,這樣就會有一些侷限性,但願能改進吧~