Hyena-双击监听器

Hyena鬣狗快速开发库核心为快速开发,定位小巧精悍,内容简单精致,整合常用的自定义ViewBase类通用词典
Hyena鬣狗: 高效、精准,为快速开发而生。

今天介绍一个通用类DoubleClickListener,有2个作用
1.拿到双击事件 (场景:双击退出等
2.过滤双击事件 (场景:防止按钮双击

//快速集成无负担
compile 'com.github.KnifeStone:Hyena:1.0.0'

源码 DoubleClickListener.java 使用示例

public abstract class DoubleClickListener implements View.OnClickListener {

    /**
     * 双击判定 延迟时间
     */
    private static long MIN_CLICK_DELAY_TIME = 400;

    /**
     * 记录最近一次点击的时间
     */
    private static long lastClickTime = 0;

    /**
     * 配置
     *
     * @param delayTime 间隔时间
     */
    public static void init(long delayTime) {
        if (delayTime > 0) {
            MIN_CLICK_DELAY_TIME = delayTime;
        }
    }

    /**
     * 判断是否双击
     */
    public static boolean checkDoubleClick() {
        long currentTime = System.currentTimeMillis();
        if (currentTime - lastClickTime > MIN_CLICK_DELAY_TIME) {
            lastClickTime = currentTime;
            return false;
        }
        return true;
    }

    @Override
    public void onClick(View v) {
        long currentTime = System.currentTimeMillis();
        if (currentTime - lastClickTime > MIN_CLICK_DELAY_TIME) {
            lastClickTime = currentTime;
            onNoDoubleClick(v);
        }
    }

    public abstract void onNoDoubleClick(View v);

}

更多功能请前往Github查看,传送门: Hyena鬣狗快速开发库

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,670评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,224评论 4 61
  • 阅读进度:第26章 美国的金融机构主要包括股票市场、债券市场和银行等金融中介机构。这些金融机构都服务于同一个目标,...
    苏打V阅读 1,280评论 0 0
  • 最近《罗辑思维》一期叫做《概率权》的节目里出了这样一道选择题:100%获得100万和50%的机会得到1个亿,选哪个...
    乱红N阅读 2,372评论 4 3
  • 时而感性,随时理性,最近的最近,思考得很通透。 2017年7月28日 雨 星期五 凌晨两点半 有些睡...
    诗小苒阅读 3,222评论 0 3