Hyena-双击监听器
2017-05-08 本文已影响33人
KnifeStone
Hyena鬣狗快速开发库核心为快速开发
,定位小巧精悍
,内容简单精致
,整合常用的自定义View
、Base类
、通用
、词典
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鬣狗快速开发库