android 按键速度控制

在android Tv 上的开发时,常常需要对按键的响应速度做控制,否则容易出现焦点乱跳的情况或者出现来不及加载的情况。
这里给出一种方案:
在Activity或者view的dispatchKeyEvent做了处理。

public boolean dispatchKeyEvent(KeyEvent event) {
        if(event.getAction() == 0) {
            long nowTime = SystemClock.elapsedRealtime();
            this.mTimeDelay = nowTime - this.mTimeLast;
            this.mTimeLast = nowTime;
            if(this.mTimeSpace <= 80L && this.mTimeDelay <= 80L) {
                this.mTimeSpace += this.mTimeDelay;
                return true;
            }

            this.mTimeSpace = 0L;
        }

        return super.dispatchKeyEvent(event);
    }

这里的时间间隔是80ms,在两次时间间隔小于80ms时,将按键事件屏蔽,同时长按产生的累加时间间隔要考虑。

还有一种方案是发送延迟handler消息。这个后面再补上

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容