大家都用過QQ,肯定有人好奇QQ滑動刪除Item的效果是怎樣實現的,其實我們使用Swipemenulistview就可以簡單的實現。先看看我們項目中的效果:

使用的時候可以把Swipemenulistview作為一個library,也可以把Swipemenulistview的源碼拷貝到我們的項目中來,使用步驟大致可以分為三步:1.在布局中配置;2.在Java代碼中初始化配置;3.按鈕點擊事件的處理
1.在布局中配置
xml布局文件中只需要簡單使用這個自定義的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="match_parent"> <com.baoyz.swipemenulistview.SwipeMenuListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="match_parent" /> </RelativeLayout>
2.在java代碼中初始化菜單配置
SwipeMenuCreator creator = new SwipeMenuCreator(){ <span style="white-space:pre"> </span>@Override public void create(SwipeMenu menu) { //創建一個"打開"功能菜單 SwipeMenuItem openItem = new SwipeMenuItem(context); // 設置菜單的背景 openItem.setBackground(new ColorDrawable(Color.rgb(0xC9, 0xC9,0xCE))); // 寬度:菜單的寬度是一定要有的,否則不會顯示 openItem.setWidth(180); // 菜單標題 openItem.setTitle("打開"); // 標題文字大小 openItem.setTitleSize(16); // 標題的顏色 openItem.setTitleColor(Color.WHITE); // 添加到menu menu.addMenuItem(openItem); //創建一個"打開"功能菜單 SwipeMenuItem deleteItem = new SwipeMenuItem(context); // 設置菜單的背景 deleteItem.setBackground(new ColorDrawable(Color.rgb(0xF9,0x3F, 0x25))); // 寬度:菜單的寬度是一定要有的,否則不會顯示 deleteItem.setWidth(180); // 菜單標題 deleteItem.setTitle("刪除"); // 標題文字大小 deleteItem.setTitleSize(16); // 標題的顏色 deleteItem.setTitleColor(Color.WHITE); // 給菜單設置一個圖標 //deleteItem.setIcon(R.drawable.ic_delete); // 添加到menu menu.addMenuItem(deleteItem); } }; // 不要忘記了 mListView.setMenuCreator(creator); 這里是添加了兩個菜單按鈕,一個“打開”,一個“刪除”。
3.菜單按鈕點擊事件的處理
mListView.setOnMenuItemClickListener(new OnMenuItemClickListener() { @Override public void onMenuItemClick(int position, SwipeMenu menu, int index) { switch (index) { case 0: Toast.makeText(context, "打開第" + mArrayList.get(position) + "個條目", 0).show(); break; case 1: Toast.makeText(context, "刪除第" + mArrayList.get(position) + "個條目", 0).show(); mArrayList.remove(position); mAdapter.notifyDataSetChanged(); break; } } }); 最后的效果圖如下:

以上所述是小編給大家介紹的Android使用Item Swipemenulistview實現仿QQ側滑刪除功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
新聞熱點
疑難解答