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鬣狗快速开发库

你可能感兴趣的:(Hyena-双击监听器)