android 处理双击事件监听

原创 2016年05月30日 11:38:50

自定义一个监听类:

public class OnDoubleClickListener implements View.OnTouchListener {
    private final String TAG = this.getClass().getSimpleName();
    private int count = 0;
    private long firClick = 0;
    private long secClick = 0;
    /**
     * 两次点击时间间隔,单位毫秒
     */
    private final int interval = 1500;
    private DoubleClickCallback mCallback;

    public interface DoubleClickCallback {
        void onDoubleClick();
    }

    public OnDoubleClickListener(DoubleClickCallback callback) {
        super();
        this.mCallback = callback;
    }

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        if (MotionEvent.ACTION_DOWN == event.getAction()) {
            count++;
            if (1 == count) {
                firClick = System.currentTimeMillis();
            } else if (2 == count) {
                secClick = System.currentTimeMillis();
                if (secClick - firClick < interval) {
                    if (mCallback != null) {
                        mCallback.onDoubleClick();
                    } else {
                        Log.e(TAG, "请在构造方法中传入一个双击回调");
                    }
                    count = 0;
                    firClick = 0;
                } else {
                    firClick = secClick;
                    count = 1;
                }
                secClick = 0;
            }
        }
        return true;
    }
}

调用方式:

myBtn.setOnTouchListener(new OnDoubleClickListener(new OnDoubleClickListener.DoubleClickCallback() {
    @Override
    public void onDoubleClick() {
        //处理双击事件
    }
}));

Android重写OnTouchListener实现双击事件的监听

今天要在视频上加入双击暂停和播放,但是用人家的SDK视频控件都封装到SDK里面了,所以重写一个OnTouchListener去实现监听了。 重写的监听类:public class OnDoubleC...
  • h649305597
  • h649305597
  • 2017年03月20日 19:39
  • 1077

从头学android_双击事件(多击事件)的算法

双击事件的算法android 中提供了click事件,但是没有提供doubleClick事件,如需要使用,需要程序员自定义doubleClick方法。 其实这也不算太难,双击不过就是在很短时间内的多...
  • Mr_Seng
  • Mr_Seng
  • 2016年08月02日 12:05
  • 1865

Android 双击以及连续多次点击事件系统自带判断方法

import android.app.Activity; import android.os.Bundle; import android.os.SystemClock; import android...
  • kpioneer123
  • kpioneer123
  • 2016年07月29日 16:34
  • 1398

android识别 单击和双击事件

package com.test.test; import android.app.Activity; import android.graphics.Color; import android.o...
  • jdsjlzx
  • jdsjlzx
  • 2012年07月31日 14:52
  • 14897

android 实现button双击事件

最近在学习linux内核定时器,所以用类似定时器的方法实现按钮的双击事件 public class MainActivity extends Activity {  private Handler...
  • retacn_yue
  • retacn_yue
  • 2013年12月14日 15:59
  • 3514

Android的TextView的双击事件监听

TextView是没有双击事件的监听设置的,故我们这里使用的是setOnTouchListener来作为双击监听。 监听的类需要实现OnTouchListener类,并重写OnTouch方法 下面...
  • fxtxz2
  • fxtxz2
  • 2012年06月18日 09:51
  • 10322

Android中View的双击,多击实现方法

一、第一种双击方式:在这里用到Android开发者最青睐的一种注入框架ButterKnife来写了一个点击事件,他可以节省很多的代码,后面可能会讲,此处不再赘述!我们知道,android有一个Syst...
  • wbq620524
  • wbq620524
  • 2016年11月04日 11:46
  • 507

android实现双击事件暨多击事件详解

双击事件暨多击事件详解
  • wei18359100306
  • wei18359100306
  • 2014年11月01日 22:45
  • 3185

Android中的双击事件,GestureDetector无效的原因

Android中提供了一个手势处理类可以解决双击事件、长按事件、滑动放开、滑动等事件。 final GestureDetector detector = new GestureDetector(thi...
  • Qyuewei
  • Qyuewei
  • 2016年03月24日 15:12
  • 1194

Android双击,连续多次点击事件判断

常见场景:有时候用户双击控件后,才希望客户端响应。 原理:用户点击一次后,判断最后一次点击距离第一次的时间,如果小于500毫秒,则为双击,同理,三次点击,四次点击…… 看看Android自身是如何...
  • javaplay11
  • javaplay11
  • 2015年08月14日 15:31
  • 2507
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android 处理双击事件监听
举报原因:
原因补充:

(最多只允许输入30个字)