Android开发实现控件双击事件的监听接口封装类 Android开发实现控件双击事件的监听接口封装类
zuo_er_lyf 人气:0写项目时,要求仿微信朋友圈,双击顶栏置顶,于是封装了双击回调接口,方便大家拿来就用
/** * Created by Administrator on 2018/4/24. * 双击 */ public class OnDoubleClickListener implements View.OnTouchListener{ private int count = 0;//点击次数 private long firstClick = 0;//第一次点击时间 private long secondClick = 0;//第二次点击时间 /** * 两次点击时间间隔,单位毫秒 */ private final int totalTime = 1000; /** * 自定义回调接口 */ private DoubleClickCallback mCallback; public interface DoubleClickCallback { void onDoubleClick(); } public OnDoubleClickListener(DoubleClickCallback callback) { super(); this.mCallback = callback; } /** * 触摸事件处理 * @param v * @param event * @return */ @Override public boolean onTouch(View v, MotionEvent event) { if (MotionEvent.ACTION_DOWN == event.getAction()) {//按下 count++; if (1 == count) { firstClick = System.currentTimeMillis();//记录第一次点击时间 } else if (2 == count) { secondClick = System.currentTimeMillis();//记录第二次点击时间 if (secondClick - firstClick < totalTime) {//判断二次点击时间间隔是否在设定的间隔时间之内 if (mCallback != null) { mCallback.onDoubleClick(); } count = 0; firstClick = 0; } else { firstClick = secondClick; count = 1; } secondClick = 0; } } return true; } }
具体应用关键代码:
/** * 顶栏双击,置顶 */ private void titleDoubleOnClick(){ titleLayout.setOnTouchListener(new OnDoubleClickListener(new OnDoubleClickListener.DoubleClickCallback() { @Override public void onDoubleClick() { listView_neighbour.setSelection(0);//处理双击事件 } })); }
本文为大家提供了Android开发实现控件双击事件的监听接口封装类,大家可以拿来就用,更多关于Android双击事件技巧请查看下面的相关链接
加载全部内容