android 按键速度控制

作者: AndroidXing | 来源:发表于2017-04-17 23:24 被阅读115次

    在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消息。这个后面再补上

    相关文章

      网友评论

        本文标题:android 按键速度控制

        本文链接:https://www.haomeiwen.com/subject/xvmxzttx.html