Google实现算法
val imageLogo = header?.findViewById<ImageView>(R.id.img_logo)
val counts: Int = 8
val duration: Long = 3 * 1000
val mHits = LongArray(counts)
imageLogo?.setOnClickListener {
/**
* 实现双击方法
* src 拷贝的源数组
* srcPos 从源数组的那个位置开始拷贝.
* dst 目标数组
* dstPos 从目标数组的那个位子开始写数据
* length 拷贝的元素的个数
*/
System.arraycopy(mHits, 1, mHits, 0, mHits.size - 1)
//实现左移,然后最后一个位置更新距离开机的时间,如果最后一个时间和最开始时间小于DURATION,即连续5次点击
mHits[mHits.size - 1] = SystemClock.uptimeMillis()
if (mHits[0] >= (SystemClock.uptimeMillis() - duration)) {
val tips = "您已在[" + DURATION + "]ms内连续点击【" + mHits.size + "】次了!!!"
showToast(tips)
}
}
本文详细介绍了在Google算法中实现双击检测的具体方法。通过使用数组存储连续点击的时间戳,算法能够判断用户是否在指定时间内进行了连续点击,进而触发特定的提示。此方法适用于需要响应快速连续用户输入的应用场景。
283

被折叠的 条评论
为什么被折叠?



