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或它的一个子类,(前提是

完整的Android TV 视频播放器源码

更多相关文章

  1. Android中以JAR形式封装控件 或者类库
  2. Android 支持不同(本地化、屏幕、版本)设备
  3. 【Android开发学习27】界面控件之进度条(ProgressBar)
  4. Android Edittext焦点处理;
  5. ArcGIS for Android地图控件的5大常见操作
  6. TextView 控件使用
  7. Andrid 控件集合大全
  8. 系出名门Android(5) - 控件(View)之TextView, Button, ImageButt
  9. Android ImageView控件的setMaxWidth、setMaxHeight不起作用

随机推荐

  1. android 设置EditText只能输入大写字母,F
  2. android手机安装busybox步骤
  3. android的View的大小写字母问题
  4. Android UI开发神兵利器之Android Asset
  5. android:persistent
  6. Android如何从服务器获取图片
  7. Flex AIR应用拍照功能(Android和IOS版本)
  8. Android 图形密码
  9. Android Studio 错误 com.android.dex.De
  10. Android 获取网络时间