做Android TV开发,需要用到一个功能,在界面上按 上,右,右三个键,开启大招(启动另一个a
做AndroidTV开发,需要用到一个功能,在界面上按上,右,右三个键,开启大招(启动另一个activity);求解这个怎么监听...
做Android TV开发,需要用到一个功能,在界面上按 上,右,右三个键,开启大招(启动另一个activity);求解这个怎么监听
展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
1个回答
2015-11-03
展开全部
重新onKeyDown方法。
if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER||keyCode == KeyEvent.KEYCODE_ENTER) {
拦截中间键按下
}
keyCode == KeyEvent.KEYCODE_DPAD_UP
拦截上键按下
keyCode == KeyEvent.KEYCODE_DPAD_DOWN
拦截下键按下
keyCode == KeyEvent.KEYCODE_DPAD_LEFT
拦截左键按下
keyCode == KeyEvent.KEYCODE_DPAD_RIGHT
拦截右键按下
keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0
拦截返回键按下
当按下 上下两键时弹出一个popwindow来展示选集,这时弹出来的popwindwo没有焦点,所以在创建popwindow时就要给它设置获得焦 点 mSelectionsWindow.setFocusable(true);这样popwindow里的不管listview还是gridview都能用遥控器上下左右键控制了。
可是这时返回键失效了,不能退出了,因为焦点都在popwindow上了,给popwindow设置setBackgroundDrawable这样点击返回键时popwindow就会消失掉。
如果想让popwindow过个几秒钟自己消失,还要重新onKeyUp 扑捉按键抬起,在按键抬起时给handler发消息就能实现了。
if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER||keyCode == KeyEvent.KEYCODE_ENTER) {
拦截中间键按下
}
keyCode == KeyEvent.KEYCODE_DPAD_UP
拦截上键按下
keyCode == KeyEvent.KEYCODE_DPAD_DOWN
拦截下键按下
keyCode == KeyEvent.KEYCODE_DPAD_LEFT
拦截左键按下
keyCode == KeyEvent.KEYCODE_DPAD_RIGHT
拦截右键按下
keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0
拦截返回键按下
当按下 上下两键时弹出一个popwindow来展示选集,这时弹出来的popwindwo没有焦点,所以在创建popwindow时就要给它设置获得焦 点 mSelectionsWindow.setFocusable(true);这样popwindow里的不管listview还是gridview都能用遥控器上下左右键控制了。
可是这时返回键失效了,不能退出了,因为焦点都在popwindow上了,给popwindow设置setBackgroundDrawable这样点击返回键时popwindow就会消失掉。
如果想让popwindow过个几秒钟自己消失,还要重新onKeyUp 扑捉按键抬起,在按键抬起时给handler发消息就能实现了。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询