A SwipeMenu of ListView.
- add SwipeMenuListView in layout xml
<com.baoyz.swipemenulistview.SwipeMenuListView android:id="@+id/listView"android:layout_width="match_parent"android:layout_height="match_parent" />- create a SwipeMenuCreator to add items.
SwipeMenuCreatorcreator = newSwipeMenuCreator(){@Overridepublicvoidcreate(SwipeMenumenu){// create "open" itemSwipeMenuItemopenItem = newSwipeMenuItem( getApplicationContext()); // set item backgroundopenItem.setBackground(newColorDrawable(Color.rgb(0xC9, 0xC9, 0xCE))); // set item widthopenItem.setWidth(dp2px(90)); // set item titleopenItem.setTitle("Open"); // set item title fontsizeopenItem.setTitleSize(18); // set item title font coloropenItem.setTitleColor(Color.WHITE); // add to menumenu.addMenuItem(openItem); // create "delete" itemSwipeMenuItemdeleteItem = newSwipeMenuItem( getApplicationContext()); // set item backgrounddeleteItem.setBackground(newColorDrawable(Color.rgb(0xF9, 0x3F, 0x25))); // set item widthdeleteItem.setWidth(dp2px(90)); // set a icondeleteItem.setIcon(R.drawable.ic_delete); // add to menumenu.addMenuItem(deleteItem)} }; // set creatorlistView.setMenuCreator(creator);- listener item click event
listView.setOnMenuItemClickListener(newOnMenuItemClickListener(){@OverridepublicbooleanonMenuItemClick(intposition, SwipeMenumenu, intindex){switch (index){case0: // openbreak; case1: // deletebreak} // false : close the menu; true : not close the menureturnfalse} });- Use the ViewType of adapter
classAppAdapterextendsBaseAdapter{... @OverridepublicintgetViewTypeCount(){// menu type countreturn2} @OverridepublicintgetItemViewType(intposition){// current menu typereturntype} ... }- Create different menus depending on the view type
SwipeMenuCreatorcreator = newSwipeMenuCreator(){@Overridepublicvoidcreate(SwipeMenumenu){// Create different menus depending on the view typeswitch (menu.getViewType()){case0: // create menu of type 0break; case1: // create menu of type 1break; ... } } };- Demo
- OnSwipeListener
listView.setOnSwipeListener(newOnSwipeListener(){@OverridepublicvoidonSwipeStart(intposition){// swipe start } @OverridepublicvoidonSwipeEnd(intposition){// swipe end } });- open menu method for SwipeMenuListView
listView.smoothOpenMenu(position);- Open/Close Animation Interpolator
// Close InterpolatorlistView.setCloseInterpolator(newBounceInterpolator()); // Open InterpolatorlistView.setOpenInterpolator(...);

