软件编程
位置:首页>> 软件编程>> Android编程>> Android开发实现控件双击事件的监听接口封装类

Android开发实现控件双击事件的监听接口封装类

作者:zuo_er_lyf  发布时间:2023-02-15 00:56:18 

标签:Android,双击事件

写项目时,要求仿微信朋友圈,双击顶栏置顶,于是封装了双击回调接口,方便大家拿来就用


/**
* 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双击事件技巧请查看下面的相关链接

来源:https://blog.csdn.net/zuo_er_lyf/article/details/80068006

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com