dxh 5 years ago
parent
commit
75a5494c1e

+ 51 - 0
app/src/main/java/com/electric/chargingpile/util/OnDoubleClickListener.java

@ -0,0 +1,51 @@
1
package com.electric.chargingpile.util;
2
3
import android.view.MotionEvent;
4
import android.view.View;
5
6
public class OnDoubleClickListener implements View.OnTouchListener {
7
    private final String TAG = this.getClass().getSimpleName();
8
    private int count = 0;
9
    private long firClick = 0;
10
    private long secClick = 0;
11
    /**
12
     * 两次点击时间间隔,单位毫秒
13
     */
14
    private final int interval = 500;
15
    private DoubleClickCallback mCallback;
16
17
    public interface DoubleClickCallback {
18
        void onDoubleClick();
19
    }
20
21
    public OnDoubleClickListener(DoubleClickCallback callback) {
22
        super();
23
        this.mCallback = callback;
24
    }
25
26
    @Override
27
    public boolean onTouch(View v, MotionEvent event) {
28
        if (MotionEvent.ACTION_DOWN == event.getAction()) {
29
            count++;
30
            if (1 == count) {
31
                firClick = System.currentTimeMillis();
32
            } else if (2 == count) {
33
                secClick = System.currentTimeMillis();
34
                if (secClick - firClick < interval) {
35
                    if (mCallback != null) {
36
                        mCallback.onDoubleClick();
37
                    } else {
38
//                        Log.e(TAG, "请在构造方法中传入一个双击回调");
39
                    }
40
                    count = 0;
41
                    firClick = 0;
42
                } else {
43
                    firClick = secClick;
44
                    count = 1;
45
                }
46
                secClick = 0;
47
            }
48
        }
49
        return true;
50
    }
51
}