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
投稿

猜你喜欢

  • Android Java try catch 失效问题及解决

    2023-06-17 17:07:33
  • 浅谈Java中向上造型向下造型和接口回调中的问题

    2023-11-09 13:51:46
  • Java多线程下解决数据安全问题

    2022-05-16 04:48:45
  • Java数据结构之线索化二叉树的实现

    2022-03-16 15:25:34
  • 分享15款Java程序员必备的开发工具

    2021-12-07 19:09:07
  • Java对象的XML序列化与反序列化实例解析

    2023-02-25 15:21:19
  • Android四种数据存储的应用方式

    2023-07-25 05:01:06
  • Spring Boot中的那些条件判断的实现方法

    2023-04-26 15:02:07
  • SpringBoot定时任务多线程实现示例

    2021-10-06 08:45:18
  • java实现简单斗地主(看牌排序)

    2023-09-12 14:42:40
  • spring boot 使用profile来分区配置的操作

    2022-11-27 22:55:15
  • MyBatis动态SQL中的trim标签的使用方法

    2022-08-30 21:38:13
  • Java实现Http工具类的封装操作示例

    2021-08-14 10:27:57
  • Maven打包jar包没有主属性问题解决方案

    2023-11-25 06:56:32
  • 零基础写Java知乎爬虫之准备工作

    2022-10-25 01:19:18
  • WebSocket实现Web聊天室功能

    2023-11-27 06:10:52
  • Java之SpringBean生命周期问题理解

    2022-11-16 14:47:35
  • java 安全 ysoserial CommonsCollections6 分析

    2021-06-04 01:58:14
  • 初识Spring Boot框架之Spring Boot的自动配置

    2022-08-25 10:27:57
  • Java 开启多线程常见的4种方法

    2023-11-23 02:30:10
  • asp之家 软件编程 m.aspxhome.com