|
|
@ -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
|
}
|