您的位置:首页 > 移动开发 > Android开发

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

2017-03-20 19:39 423 查看
今天要在视频上加入双击暂停和播放,但是用人家的SDK视频控件都封装到SDK里面了,所以重写一个OnTouchListener去实现监听了。

重写的监听类:

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() {
//处理双击事件
}
}));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: