Android使用Item Swipemenulistview实现仿QQ侧滑删除功能
作者:mrr 发布时间:2021-08-16 19:47:35
标签:andorid,侧滑删除,swipemenulistview
大家都用过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侧滑删除功能网站的支持!


猜你喜欢
- 概述在 NAudio 中, 常用类型有 WaveIn, WaveOut, WaveStream, WaveFileWriter, WaveF
- 由于工作和之前学习的原因,我需要同时使用Java和C#两门语言。这几年,我也一直在使用J2EE平台和.NET平台做开发。说起C#和Java这
- 公司在使用定时任务的时候,使用的是spring scheduled。代码如下:@EnableSchedulingpublic class T
- 程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间
- 概述状态模式允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。这个模式将状态封装成独立的类,并将动作委托到 代表当前状态的对
- using System;using System.Collections;using System.Xml;namespace Jb51.
- 一、国际惯例,先看下效果图二、不跟你多bb直接上布局文件代码<?xml version="1.0" encodin
- 本文实例讲述了C#生成随机ArrayList的方法。分享给大家供大家参考。具体实现方法如下:public static void Rando
- 本文实例讲述了Android编程中的消息机制。分享给大家供大家参考,具体如下:在分析Android消息机制之前,我们先来看一段代码:publ
- 近和朋友完成了一个大单子架构是mvc5+ef6+Bootstrap,用的是vs2015,数据库是sql server2014。朋友做的架构,
- 前言:线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、
- 前言spring-boot-actuator是一个spring-boot提供的用于监控组件,只需要在代码中加入依赖就可以了<depen
- Android getevent用法实例详解最近在测试设备按键的常用命令,感觉这些命令都有的,但就是不知道怎么查找。翻阅了几篇博
- Spring Data JPA查询方式及方法名查询规则Spring Data JPA通过解析方法名创建查询在执行查询时,Spring Dat
- 本文实例为大家分享了Android DialogUtils弹出窗工具类的具体代码,供大家参考,具体内容如下直接上代码吧!!!代码拉过去都可以
- HashMap 概述HashMap 是通过 put(key,value) 存储,get(key)来获取。当传入 key 时,HashMap
- 1.pom文件导入依赖<!-- kafka --><dependency> <groupId>
- Android实现环形进度条的效果图如下:自定义控件:AttendanceProgressBar代码如下:public class Atte
- 如下所示:using System;using System.Collections.Generic;using System.Linq;u
- Java基础编写猜数游戏,供大家参考,具体内容如下设计内容及要求产生一个100以内的随机数,游戏者进行猜数,猜中即胜,猜不中,提示是大了还是