最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Android 多点击监听器

网站源码admin1浏览0评论

Android 多点击监听器

代码语言:javascript代码运行次数:0运行复制
abstract class MultiClickListener(var count: Int = 5, var duration: Long = 2000) : View.OnClickListener {

    //记录点击次数
    private var hits: LongArray = LongArray(count)

    override fun onClick(v: View?) {
        // 将 hits 数组内所有元素左移一个位置
        System.arraycopy(hits, 1, hits, 0, hits.size - 1)
        // 获取当前系统已经启动的时间
        hits[hits.size - 1] = SystemClock.uptimeMillis()
        if (hits[0] >= (SystemClock.uptimeMillis() - duration)) {
            // 在有效时间内已经连续点击了 count 次,算一次有效点击
            onClickValid(v)
            // 将所有时间重置
            hits.forEachIndexed { index, _ ->
                hits[index] = 0
            }
        }
    }

    //当连续多次点击有效时回调
    abstract fun onClickValid(v: View?)
}

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论