android tv key事件,Android TV中按键事件和焦点处理总结

本文总结了Android TV开发中的按键事件和焦点处理,TV端的开发不同于手机开发,主要区别在于焦点的处理,常常会用到手机端很少用到的开发接口。了解这些不同的接口和区别,有助于很快的上手TV端的开发。

文章目录1.KeyEvent事件keyEvent2.KeyEvent事件分发dispatchKeyEvent()3.焦点处理 Focus焦点放大处理4.adb input 常见命令5.总结

1.KeyEvent事件

keyEvent

源码位于android.view下,包装管理所有按键有关输入的事件体系,KeyEvent和MotionEvent的分发流程一样,都是InputEvent的子类,都是从Activity开始的,KeyEvent主要有以下事件类型:

KeyEvent.KEYCODE_DPAD_UP; 上

KeyEvent.KEYCODE_DPAD_DOWN; 下

KeyEvent.KEYCODE_DPAD_LEFT;左

KeyEvent.KEYCODE_DPAD_RIGHT;右

KeyEvent.KEYCODE_DPAD_CENTER;确定键

KeyEvent.KEYCODE_DPAD_RIGHT; 右

KeyEvent.KEYCODE_XXX:数字键 (xx表示你按了数字几)

KeyEvent.KEYCODE_BACK; 返回键

KeyEvent.KEYCODE_HOME;房子键

KeyEvent.KEYCODE_A: A-Z,26个字母

KeyEvent.KEYCODE_MENU菜单键。

一般使用方法如下所示:

public boolean onKeyDown(int keyCode, KeyEvent event) {

switch (keyCode) {

//模拟器测试时键盘中的的Enter键,模拟ok键(推荐TV开发中使用蓝叠模拟器)

case KeyEvent.KEYCODE_ENTER:

break;

case KeyEvent.KEYCODE_DPAD_CENTER:

Toast("你按下中间键");

break;

case KeyEvent.KEYCODE_DPAD_DOWN:

Toast("你按下下方向键");

break;

case KeyEvent.KEYCODE_DPAD_LEFT:

Toast("你按下左方向键");

break;

case KeyEvent.KEYCODE_DPAD_RIGHT:

Toast("你按下右方向键");

break;

case KeyEvent.KEYCODE_DPAD_UP:

Toast("你按下上方向键");

break;

}

return super.onKeyDown(keyCode, event);

}

或者可以复写onKeyUp();

2.KeyEvent事件分发

dispatchKeyEvent()

主要处理按键的分发。avtivity和view都拥有此方法,两种有所区别的,实际都是交给DecorView来处理。

public boolean dispatchKeyEvent(KeyEvent event) {

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值