Android使用Item Swipemenulistview實(shí)現(xiàn)仿QQ側(cè)滑刪除功能
大家都用過QQ,肯定有人好奇QQ滑動刪除Item的效果是怎樣實(shí)現(xiàn)的,其實(shí)我們使用Swipemenulistview就可以簡單的實(shí)現(xiàn)。先看看我們項(xiàng)目中的效果:

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

以上所述是小編給大家介紹的Android使用Item Swipemenulistview實(shí)現(xiàn)仿QQ側(cè)滑刪除功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- Android SwipeRefreshLayout超詳細(xì)講解
- Android 使用SwipeRefreshLayout控件仿抖音做的視頻下拉刷新效果
- Android SwipeRefreshLayout仿抖音app靜態(tài)刷新
- android使用SwipeRefreshLayout實(shí)現(xiàn)ListView下拉刷新上拉加載
- android基于SwipeRefreshLayout實(shí)現(xiàn)類QQ的側(cè)滑刪除
- Android 中SwipeRefreshLayout與ViewPager滑動事件沖突解決方法
- android中SwipeRefresh實(shí)現(xiàn)各種上拉,下拉刷新示例
- Android實(shí)現(xiàn)SwipeRefreshLayout首次進(jìn)入自動刷新
- Android 中 Swipe、Scroll 和 Fling 的區(qū)別解析
相關(guān)文章
Android仿微信Viewpager-Fragment惰性加載(lazy-loading)
這篇文章主要為大家詳細(xì)介紹了Android仿微信Viewpager-Fragment惰性加載lazy-loading,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
Flutter學(xué)習(xí)之創(chuàng)建一個(gè)內(nèi)嵌的navigation詳解
我們在flutter中可以使用Navigator.push或者Navigator.pushNamed方法來向Navigator中添加不同的頁面,從而達(dá)到頁面調(diào)整的目的。本文就來聊聊如何創(chuàng)建一個(gè)內(nèi)嵌的navigation吧2023-03-03
Android實(shí)現(xiàn)聊天記錄上傳本地服務(wù)器(即時(shí)通訊)
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)聊天記錄上傳本地服務(wù)器,即時(shí)通訊功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-06-06
Android開發(fā)之Activity管理工具類完整示例
這篇文章主要介紹了Android開發(fā)之Activity管理工具類,集合完整實(shí)例形式分析了Android操作Activity創(chuàng)建、添加、獲取、移除等相關(guān)操作技巧,需要的朋友可以參考下2018-01-01
Android開發(fā)之拼音轉(zhuǎn)換工具類PinyinUtils示例
這篇文章主要介紹了Android開發(fā)之拼音轉(zhuǎn)換工具類PinyinUtils,涉及Android基于pinyin4j-2.5.0.jar包文件實(shí)現(xiàn)漢字轉(zhuǎn)拼音功能的相關(guān)操作技巧,需要的朋友可以參考下2017-11-11
Android中AndroidStudio&Kotlin安裝到運(yùn)行過程及常見問題匯總
這篇文章主要介紹了Android(AndroidStudio&Kotlin)安裝到運(yùn)行過程及常見問題匯總,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒借鑒價(jià)值,需要的朋友可以參考下2020-03-03
Android提高之多方向抽屜實(shí)現(xiàn)方法
這篇文章主要介紹了Android的多方向抽屜實(shí)現(xiàn)方法,有一定的實(shí)用價(jià)值,需要的朋友可以參考下2014-08-08

