Android TV 焦点控制

简介: Android TV 焦点控制

Android TV 焦点控制


电视上都是通过控件获取焦点来实现点击效果的


  android:focusable="true"//布局文件中设置一个控件能否获得焦点
  android:setFocusableInTouchMode="true"//这个是触摸是否能获得焦点,因为有的TV要求遥控
  器和触摸都可以用,这时会用到
  android:focusedByDefault="true"//设置默认焦点 低版本用不了,不过可以用requestFocus()强制获取焦点 这个属性只能在API 26 或者更高版本中使用,如果你的最低版本低于26则会报错
  android:defaultFocusHighlightEnabled="true"//原生控件获取焦点高亮显示 这个属性也能在API 26 或者更高版本中使用,如果你的最低版本低于26则会报错


意思就是可以获取到焦点,为false则不可获取焦点,

在代码里


  btnTest.setFocusable(true);//代码中设置一个控件能否获得焦点
  btnTest.setFocusableInTouchMode(true);//这个是触摸是否能获得焦点,因为有的TV要求遥控器和触摸都可以用,这时会用到
  btnTest.setFocusedByDefault(true);//设置默认焦点 低版本用不了,不过可以用requestFocus()强制获取焦点 这个属性只能在API 26 或者更高版本中使用,如果你的最低版本低于26则会报错
  btnTest.setDefaultFocusHighlightEnabled(true);//原生控件获取焦点高亮显示 这个属性也能在API 26 或者更高版本中使用,如果你的最低版本低于26则会报错


为false则不可获取焦点。

在已知控件ID的情况下我们可以设置上下左右的移动控件,


  android:nextFocusUp="@id/tv_test"//当按上键时,下一个获得焦点的控件为tv_test
    android:nextFocusDown="@id/tv_test"//当按下键时,下一个获得焦点的控件为tv_test
    android:nextFocusLeft="@id/tv_test"//当按左键时,下一个获得焦点的控件为tv_test
    android:nextFocusRight="@id/tv_test"//当按右键时,下一个获得焦点的控件为tv_test


代码中:

  btnTest.setNextFocusUpId(R.id.tv_test);//当按上键时,下一个获得焦点的控件为tv_test
    btnTest.setNextFocusDownId(R.id.tv_test);//当按下键时,下一个获得焦点的控件为tv_test
    btnTest.setNextFocusLeftId(R.id.tv_test);//当按左键时,下一个获得焦点的控件为tv_test
    btnTest.setNextFocusRightId(R.id.tv_test);//当按右键时,下一个获得焦点的控件为tv_test


  btnTest.requestFocus()://强制设置一个焦点到指定的view或它的一个子类,(前提是
相关文章
|
Java API Android开发
Android TV 开发之 TV视频播放器(上)
Android TV 开发之 TV视频播放器(上)
1028 0
Android TV 开发之 TV视频播放器(上)
|
Android开发
Android TV开发中所有的遥控器按键监听及注意事项,新增home键监听
原文:Android TV开发中所有的遥控器按键监听及注意事项,新增home键监听 简单记录下android 盒子开发遥控器的监听 ,希望能帮到新入门的朋友们 不多说,直接贴代码 public...
7708 0
|
4月前
|
Java Linux Android开发
给TV添加一个投屏热键:基于MTK9269 android 9.0
本文介绍了在基于MTK9269 Android 9.0系统的电视上添加投屏热键的方法,包括配置红外遥控器按键映射、在PhoneWindowManager.java中添加按键响应代码,以及创建一个接收Intent的Android应用程序来处理热键触发的动作。
99 1
给TV添加一个投屏热键:基于MTK9269 android 9.0
|
6月前
|
XML Java 开发工具
Android Studio开发Android TV
【6月更文挑战第19天】
219 5
|
存储 安全 JavaScript
如何在ios成功上架android tv?
如何在ios成功上架android tv?
|
存储 安全 JavaScript
如何在ios成功上架android tv?​
如何在ios成功上架android tv?​
137 0
如何在ios成功上架android tv?​
|
XML 存储 Android开发
Android TV 开发之 TV视频播放器(下)
Android TV 开发之 TV视频播放器(下)
529 0
Android TV 开发之 TV视频播放器(下)
|
Android开发
Android TV 开发】安卓电视调试 ( 开启网络远程调试 )(二)
Android TV 开发】安卓电视调试 ( 开启网络远程调试 )(二)
746 0
Android TV 开发】安卓电视调试 ( 开启网络远程调试 )(二)
|
安全 Android开发 开发者
Android TV 开发】安卓电视调试 ( 开启网络远程调试 )(一)
Android TV 开发】安卓电视调试 ( 开启网络远程调试 )(一)
964 0
Android TV 开发】安卓电视调试 ( 开启网络远程调试 )(一)
|
XML Android开发 数据格式
【Android TV 开发】焦点处理 ( 父容器与子组件焦点获取关系处理 | 不同电视设备上的兼容问题 | 触摸获取焦点 | 按键获取焦点 )
【Android TV 开发】焦点处理 ( 父容器与子组件焦点获取关系处理 | 不同电视设备上的兼容问题 | 触摸获取焦点 | 按键获取焦点 )
539 0