器和触摸都可以用,这时会用到

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