zoukankan      html  css  js  c++  java
  • 下安卓中封装的双击和单机事件

    写双金事件有很多种方法:之前有用点击的时间判断 或者重写控件的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
  • 相关阅读:
    请说出这些测试最好由那些人员完成,测试的是什么?
    测试结束的标准是什么?
    你的测试职业发展目标是什么?
    elementui医疗
    医疗前端
    spring创建对象3种方式
    idea-git
    eclipse-git
    ArrayList01
    单体权限
  • 原文地址:https://www.cnblogs.com/widgetbox/p/13212222.html
Copyright © 2011-2022 走看看