写双金事件有很多种方法:之前有用点击的时间判断 或者重写控件的ontouch事件来自定义单双击
下面封装一个单双击事件记录下方便使用
不多说直接上干货哇
public abstract class MySingleDoubleClick implements View.OnClickListener { private static final int TIMEOUT = 400; private int clickCount = 0; private Handler handler; protected MySingleDoubleClick() { handler = new Handler(); } @Override public void onClick(View v) { clickCount++; handler.postDelayed(new Runnable() { @Override public void run() { if (clickCount == 1) { onSingleClick(v); } else if (clickCount == 2) { onDoubleClick(v); } handler.removeCallbacksAndMessages(null); clickCount = 0; } }, TIMEOUT); } /** * 单击实现 * * @param v 视图 */ public abstract void onSingleClick(View v); /** * 双击实现 * * @param v 视图 */ public abstract void onDoubleClick(View v); }
使用方法
tiktokPlayView.setOnClickListener(new MySingleDoubleClick() { @Override public void onSingleClick(View v) { } @Override public void onDoubleClick(View v) { } });
原理是继承并重写点击事件 这个也是通过时间来判断
TIMEOUT 双击间隔的时间自己定义
leileitua