Android双击事件拦截方法
作者:keyboy_rl 时间:2022-07-21 19:33:30
下文我们介绍两种双击事件拦截的方式
1.通过Android的事件分发机制进行拦截(dispatchTouchEvent)
话不多说,直接上代码:
/** 判断是否是快速点击 */
private static long lastClickTime;
public static boolean isFastDoubleClick() {
long time = System.currentTimeMillis();
long timeD = time - lastClickTime;
if (0 < timeD && timeD < 1000) {
return true;
}
lastClickTime = time;
return false;
}
/** 判断触摸时间派发间隔 */
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
if (isFastDoubleClick()) {
return true;
}
}
return super.dispatchTouchEvent(ev);
}
用法就是直接在你需要拦截双击事件的类中加入这两个函数,系统会自动调用dispatchTouchEvent进行事件拦截,屏蔽掉双击事件,可以通过调整上述的时间达到你想要的效果
缺点就是加入后的整个activity都会屏蔽掉双击事件,可能会影响其他组件的正常使用
2.通过一个工具类来使用双击函数
//判断是否是快速点击
private static long lastClickTime = 0L; //上一次点击的时间
public static boolean isFastDoubleClick() {
long time = System.currentTimeMillis();
long timeD = time - lastClickTime;
if(timeD<1000){
//写自己的双击逻辑
return true;
}
lastClickTime = time;
return false;
}
使用方法就是将这个函数放到一个工具类中,在你需要进行双击事件拦截时,直接调用这个函数进行判断即可,有没有很方便
来源:http://blog.csdn.net/qq_28260521/article/details/78955456?
标签:Android,双击事件,拦截
0
投稿
猜你喜欢
一篇文章带你了解Java Stream流
2022-11-05 10:26:18
Spark JDBC操作MySQL方式详细讲解
2021-05-24 12:41:51
java eclipse 出现 xxx cannot be resolved to a type 错误解决方法
2021-08-19 06:22:07
Android提高之MediaPlayer播放网络音频的实现方法
2022-01-17 02:39:56
Unity制作小地图和方向导航
2023-02-07 16:51:02
Android植物大战僵尸小游戏
2023-08-05 21:27:04
C#中ManualResetEvent实现线程的暂停与恢复
2021-06-20 14:59:24
C#事件实例详解
2022-04-23 22:24:47
Java基础之重载(Overload)与重写(Override)详解
2023-07-31 08:10:25
C#编程总结(一)序列化总结
2022-04-07 04:25:19
Mybatis plus中的like查询问题
2022-03-18 09:14:30
Spring Boot配置接口WebMvcConfigurer的实现
2023-11-27 23:28:50
java 读写文件[多种方法]
2022-10-04 09:09:00
Android10填坑适配指南(实际经验代码)
2022-10-05 19:51:19
android 版本检测 Android程序的版本检测与更新实现介绍
2022-12-02 11:27:41
C#中调用SAPI实现语音合成的2种方法
2023-07-07 09:36:00
深入多线程之:内存栅栏与volatile关键字的使用分析
2021-05-29 10:02:56
Java泛型中<?>和<T>的区别浅析
2023-11-25 05:20:09
C#中多态、重载、重写区别分析
2022-06-27 22:49:55
C# Socket编程实现简单的局域网聊天器的示例代码
2022-10-01 19:45:45