Android开发实现控件双击事件的监听接口封装类
作者:zuo_er_lyf 发布时间:2023-02-15 00:56:18
标签:Android,双击事件
写项目时,要求仿微信朋友圈,双击顶栏置顶,于是封装了双击回调接口,方便大家拿来就用
/**
* Created by Administrator on 2018/4/24.
* 双击
*/
public class OnDoubleClickListener implements View.OnTouchListener{
private int count = 0;//点击次数
private long firstClick = 0;//第一次点击时间
private long secondClick = 0;//第二次点击时间
/**
* 两次点击时间间隔,单位毫秒
*/
private final int totalTime = 1000;
/**
* 自定义回调接口
*/
private DoubleClickCallback mCallback;
public interface DoubleClickCallback {
void onDoubleClick();
}
public OnDoubleClickListener(DoubleClickCallback callback) {
super();
this.mCallback = callback;
}
/**
* 触摸事件处理
* @param v
* @param event
* @return
*/
@Override
public boolean onTouch(View v, MotionEvent event) {
if (MotionEvent.ACTION_DOWN == event.getAction()) {//按下
count++;
if (1 == count) {
firstClick = System.currentTimeMillis();//记录第一次点击时间
} else if (2 == count) {
secondClick = System.currentTimeMillis();//记录第二次点击时间
if (secondClick - firstClick < totalTime) {//判断二次点击时间间隔是否在设定的间隔时间之内
if (mCallback != null) {
mCallback.onDoubleClick();
}
count = 0;
firstClick = 0;
} else {
firstClick = secondClick;
count = 1;
}
secondClick = 0;
}
}
return true;
}
}
具体应用关键代码:
/**
* 顶栏双击,置顶
*/
private void titleDoubleOnClick(){
titleLayout.setOnTouchListener(new OnDoubleClickListener(new OnDoubleClickListener.DoubleClickCallback() {
@Override
public void onDoubleClick() {
listView_neighbour.setSelection(0);//处理双击事件
}
}));
}
本文为大家提供了Android开发实现控件双击事件的监听接口封装类,大家可以拿来就用,更多关于Android双击事件技巧请查看下面的相关链接
来源:https://blog.csdn.net/zuo_er_lyf/article/details/80068006


猜你喜欢
- 一、JVM 内存模型根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。1、虚拟机栈:每个线程有一个
- 使用linq把多列的List转化为只有指定列的List1、方式一2、方式二
- TM的作用我们根据源码解读画出了下图,该图示展现了TM在整个Seata AT模式的分布式事务中所起的作用:从上图中可以看出,TM主要有两个作
- 一、前言CountDownLatch维护了一个计数器(还是是state字段),调用countDown方法会将计数器减1,调用await方法会
- 本文实例为大家分享了PopupWindow+RecyclerView实现上下滑动框功能的具体代码,供大家参考,具体内容如下1.新建一个适配器
- 在公司的项目中用到了分布式锁,但只会用却不明白其中的规则所以写一篇文章来记录使用场景:交易服务,使用redis分布式锁,防止重复提交订单,出
- 这个列表总结了10个Java开发人员最常犯的错误。Array转ArrayList当需要把Array转成ArrayList的时候,开发人员经常
- 更新了AS 3.1.2之后,发现新建Kotlin类,类注释依然木有,没办法只有自己动手了。方法很简单,编辑File Header就可以啦。只
- WHY朋友在群里求助一个问题,问题原型是这样的:String str = "{{10.14, 11.24, 44.55, 41.0
- 在安全卫生上,经常看到有圆形的进度条在转动,效果非常好看,于是就尝试去实现一下,具体实现过程不多说了,直接上效果图,先炫耀下。效果图:分析:
- 本文实例讲述了Android开发实现ImageView加载摄像头拍摄的大图功能。分享给大家供大家参考,具体如下:这个方法是从官方demo中摘
- 实现InitializingBean接口或使用@PostConstruct注解实现InitializingBean如下public clas
- 本文实例讲述了Android继承ViewGroup实现Scroll滑动效果的方法。分享给大家供大家参考,具体如下:extends ViewG
- 项目中需求,要做条目条目拖拽删除效果,实际效果和QQ消息删除一样,侧滑有制定和删除。效果图第一步效果图1.0自定义控件 SwipeLayou
- 今天想和小伙伴们来聊一聊 Spring Security 中的角色继承问题。角色继承实际上是一个很常见的需求,因为大部分公司治理可能都是金字
- Java语言中,把异常分为两类:受检异常: 这类异常必须在throws子句中被显式抛出或者在方法内被捕获。例如,IOException异常或
- 一、动态编译简介new创建对象是静态加载类,在编译时刻就需要加载所有可能使用到的类。一百个类,有一个类错了,都无法编译。通过动态加载类可以解
- 需求背景接到这样一个需求,需要在 WebView 的所有网络请求中,在请求的url中,加上一个xxx=1的标志位。例如 http:
- 本文为大家分享了android倒计时控件,供大家参考,具体代码如下/* * Copyright (C) 2012 The * Project
- 本文实例讲述了C#文件合并的方法。分享给大家供大家参考。具体实现方法如下:using System;using System.IO;stri