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(...);

