1. Implementing the Layout file Main.xml
<relativelayout xmlns:android= "http://schemas.android.com/apk/res/android" xmlns:tools= "http// Schemas.android.com/tools " android:layout_width=" match_parent " android:layout_height=" Match_parent " tools:context= "${relativepackage}.${activityclass}" > < Com.baoyz.swipemenulistview.SwipeMenuListView android:id= "@+id/listview" android:layout_width= "Match_ Parent " android:layout_height=" Match_parent "/></relativelayout>
Layout file for item in 2.listview:
<relativelayout xmlns:android= "http://schemas.android.com/apk/res/android" xmlns:tools= "http// Schemas.android.com/tools " android:layout_width=" match_parent " android:layout_height=" Wrap_content " android:padding= "8DP" > <imageview android:id= "@+id/iv_icon" android:layout_width= "50DP" android:layout_height= "50DP" android:src= "@drawable/ic_launcher"/> <textview android: Id= "@+id/tv_name" android:layout_width= "wrap_content" android:layout_height= "Wrap_content " Android:layout_centervertical= "true" android:layout_marginleft= "10DP" android:layout_torightof= "@+id /iv_icon " android:text=" name " android:textcolor=" @android: Color/black " android:textsize=" 18SP "/ ></RelativeLayout>
3. Implement activity:
Package Com.baoyz.swipemenulistviewsample;import Java.util.list;import Android.app.activity;import Android.content.componentname;import Android.content.intent;import Android.content.pm.applicationinfo;import Android.content.pm.resolveinfo;import Android.graphics.color;import android.graphics.drawable.ColorDrawable; Import Android.net.uri;import android.os.bundle;import Android.util.typedvalue;import Android.view.View;import Android.view.viewgroup;import Android.widget.adapterview;import Android.widget.AdapterView.OnItemClickListener; Import Android.widget.adapterview.onitemlongclicklistener;import Android.widget.baseadapter;import Android.widget.imageview;import Android.widget.textview;import Android.widget.toast;import Com.baoyz.swipemenulistview.swipemenu;import Com.baoyz.swipemenulistview.swipemenucreator;import Com.baoyz.swipemenulistview.swipemenuitem;import Com.baoyz.swipemenulistview.swipemenulayout;import Com.baoyz.swipemenulistview.swipemenulistview;import Com.baoyz.swipemenulisTview. Swipemenulistview.onmenuitemclicklistener;import Com.baoyz.swipemenulistview.SwipeMenuListView.OnSwipeListener; public class Simpleactivity extends Activity {private list<applicationinfo> mapplist;private appadapter madapter; Private Swipemenulistview Mlistview; @Overrideprotected void OnCreate (Bundle savedinstancestate) {super.oncreate ( Savedinstancestate); Setcontentview (r.layout.activity_list); mapplist = Getpackagemanager (). Getinstalledapplications (0);//Get Data Mlistview = (Swipemenulistview) Findviewbyid (r.id.listview); mAdapter = new Appadapter (); Mlistview.setadapter (madapter);//step 1. Create a Menucreatorswipemenucreator creator = new Swipemenucreator () {@Overridepublic void Create (Swipemenu menu) {//CRE Ate "open" itemswipemenuitem OpenItem = new Swipemenuitem (Getapplicationcontext ());//Set Item Backgroundopenitem.setbackground (New Colordrawable (Color.rgb (0xc9, 0xc9,0xce)));//Set Item Widthopenitem.setwidth ( DP2PX);//Set Item Titleopenitem.settitle ("Open");//Set ItemTitle fontsizeopenitem.settitlesize;//Set Item title font Coloropenitem.settitlecolor (color.white);//Add to Menumenu.addmenuitem (OpenItem);//create "delete" Itemswipemenuitem DeleteItem = new Swipemenuitem ( Getapplicationcontext ());//Set Item Backgrounddeleteitem.setbackground (New Colordrawable (Color.rgb (0xF9,0x3F, 0x25 ));//Set Item widthdeleteitem.setwidth (DP2PX);//Set a Icondeleteitem.seticon (r.drawable.ic_delete);//Add to Menumenu.addmenuitem (DeleteItem);}};/ /Set Creatormlistview.setmenucreator (creator);//Step 2. Listener Item Click Eventmlistview.setonmenuitemclicklistener (New Onmenuitemclicklistener () {@Overridepublic Boolean Onmenuitemclick (int position, swipemenu menu, int index) {applicationinfo item = mapplist.get (position); switch (index) {C ASE 0://Openopen (item), Break;case 1://delete//delete (item); Mapplist.remove (position); Madapter.notifydatasetchanged (); break;} return false;}); /Set Swipelistenermlistview.setonswipelistener (new Onswipelistener () {@Overridepublic void Onswipestart (int position) {//swipe start} @Overridepublic void onswipeend (int position) {//Swipe End}});// Other Setting//listview.setcloseinterpolator (new Bounceinterpolator ());//test Item long Clickmlistview.setonitemlongclicklistener (New Onitemlongclicklistener () {@Overridepublic Boolean Onitemlongclick ( Adapterview<?> parent, View view,int position, long id) {Toast.maketext (Getapplicationcontext (), Position + "long C Lick ", 0). Show (); return false;});} /*private void Delete (ApplicationInfo item) {//delete apptry {Intent Intent = new Intent (intent.action_delete); intent.se Tdata (Uri.fromparts ("package", Item.packagename, null)); startactivity (intent);} catch (Exception e) {}}*/private void open (ApplicationInfo item) {//open appintent resolveintent = new Intent (intent.acti On_main, NULL); Resolveintent.addcategory (Intent.category_launcher); Resolveintent.setpackage (Item.packageName); list<resolveinfo> resolveinfolist = Getpackagemanager (). Queryintentactivities (reSolveintent, 0); if (resolveinfolist! = null && resolveinfolist.size () > 0) {ResolveInfo ResolveInfo = Resolvein Folist.get (0); String activitypackagename = resolveInfo.activityInfo.packageName; String ClassName = resolveinfo.activityinfo.name;intent Intent = new Intent (intent.action_main); Intent.addcategory ( Intent.category_launcher); ComponentName componentname = new ComponentName (Activitypackagename, className); Intent.setcomponent (ComponentName); StartActivity (intent);}} Class Appadapter extends Baseadapter {//fill in the item using the Adapter@overridepublic int GetCount () {return mapplist.size ();} @Overridepublic applicationinfo getItem (int position) {return mapplist.get (position);} @Overridepublic long Getitemid (int position) {return position;} @Overridepublic view GetView (int position, view Convertview, ViewGroup parent) {if (Convertview = = null) {Convertview = Vi Ew.inflate (Getapplicationcontext (), R.layout.item_list_app, null); new Viewholder (Convertview);} Viewholder holder = (viewholder) CONVERTVIew.gettag (); ApplicationInfo item = getItem (position); Holder.iv_icon.setImageDrawable (Item.loadicon (Getpackagemanager ())); Holder.tv_name.setText (Item.loadlabel (Getpackagemanager ())); return Convertview;} Class Viewholder {ImageView Iv_icon; TextView tv_name;public viewholder (view view) {Iv_icon = (ImageView) View.findviewbyid (r.id.iv_icon); tv_name = ( TextView) View.findviewbyid (r.id.tv_name); View.settag (this);}} private int dp2px (int dp) {return (int) typedvalue.applydimension (Typedvalue.complex_unit_dip, Dp,getresources (). Getdisplaymetrics ());}}
4. Running the example:
Click Delete to delete the selected item.
Summary 1.
public void Create (Swipemenu menu)
Create a sliding menu
2.
Mlistview.setmenucreator (creator);
like friends, welcome to the attention, thank you!
Android Combat Simple Tutorial-the 14th gun (introduction swipemenulistview-simple implementation similar to the sliding deletion effect of QQ)