Android TV 应用中焦点的简单介绍

Android  小知识  2021年12月9日 pm7:47发布3年前 (2021)更新 91es.com站长
73 0 0

前言

Android TV是通过遥控器控制的,没有触摸事件的,而是处理

KeyEvent.KEYCODE_DPAD_UP
KeyEvent.KEYCODE_DPAD_DOWN
KeyEvent.KEYCODE_DPAD_CENTER
KeyEvent.KEYCODE_DPAD_LEFT
KeyEvent.KEYCODE_DPAD_RIGHT

等按键值。

然后就涉及到一些按键的焦点状态问题,这里简单的记录一下,方便自己查阅。

正文

这些焦点的状态可以用Java代码控制,也可以通过配置xml来控制。

focusable

是否要获取到焦点

android:focusable="true|false"

对应的代码

view.setFocusable(true|false);
setFocusableInTouchMode

是否触摸后获取到焦点

android:setFocusableInTouchMode="true|false"

对应的代码

view.setFocusableInTouchMode(true|false);

默认是false,也就不设置是,当用户点击是不会有聚焦被点击的控件的。

focusedByDefault

看文字意思是默认获取焦点的配置

android:focusedByDefault="true|false"

对应的代码

view.setFocusedByDefault(true|false)

当这个属性我项目中配置后没有效果。(后续跟进)

因此只要代码中通过设置requestFocus()强制获取焦点。

defaultFocusHighlightEnabled
android:defaultFocusHighlightEnabled="true|false"

对应的代码

view.setDefaultFocusHighlightEnabled(true|false);

原生控件获取焦点高亮显示。(项目中没用过这个)

控制焦点移动方向
nextFocusDown
nextFocusLeft
nextFocusRight
nextFocusUp

具体这里就不解释了。

setOnFocusChangeListener

这个是View监听焦点丢失和获取变化,然后做一定的处理。

参考文章

  1. Android TV开发过程及焦点问题处理
  2. Android TV 焦点控制
  3. 从源码出发浅析 Android TV 的焦点移动原理 (上篇)

 历史上的今天

  1. 2023: Service的Context介绍(0条评论)
  2. 2022: Android设置语言偏好后应用没有获取对设置的语言(0条评论)
  3. 2020: [摘]Android 系统重启原因分析(0条评论)
版权声明 1、 本站名称: 91易搜
2、 本站网址: 91es.com3xcn.com
3、 本站内容: 部分来源于网络,仅供学习和参考,若侵权请留言
3、 本站申明: 个人流水账日记,内容并不保证有效

暂无评论

暂无评论...

随机推荐

拷贝文件时异常断电导致文件拷贝失败

前言测试反馈如果断电前点击收藏歌曲(也就是拷贝到内置存储卡,有提示拷贝成功)后,开机起来后小概率出现部分收藏的歌曲消失了。原因大概知道,但讲得不够清晰,因此看到网友文章,摘抄于此,方便自己查阅。真正原因:拷贝文件是写入缓冲区内,调用的flush()也无法保证文件写入到了物理存储设备上。PS...

林白:过程

一月你还没有出现二月你睡在隔壁三月下起了大雨四月里遍地蔷薇五月我们对面坐着 犹如梦中 就这样六月到了六月里青草盛开 处处芬芳七月,悲喜交加 麦浪翻滚连同草地 直到天涯八月就是八月八月我守口如瓶 八月里我是瓶中的水 你是青天的云九月和十月是两只眼睛,装满了大海你在海上 我在海下...

鲁迅 :秋夜

在我的后园,可以看见墙外有两株树,一株是枣树,还有一株也是枣树。这上面的夜的天空,奇怪而高,我生平没有见过这样奇怪而高的天空。他仿佛要离开人间而去,使人们仰面不再看见。然而现在却非常之蓝,闪闪地〖目夹〗着几十个星星的眼,冷眼。他的口角上现出微笑,似乎自以为大有深意,而将繁霜洒在我的园里的野花上。...

史铁生:有关庙的回忆

据说,过去北京城内的每一条胡同都有庙,或大或小总有一座。这或许有夸张成分。但慢慢回想,我住过以及我熟悉的胡同里,确实都有庙或庙的遗迹。在我出生的那条胡同里,与我家院门斜对着,曾经就是一座小庙。我见到它时它已改作油坊,庙门、庙院尚无大变,惟走了僧人,常有马车运来大包小包的花生、芝麻,院子里终日磨声隆...

Launcher2之拖拽事件

在分析Launcher2的拖拽(触摸)事件之前,我们必须知道Android中事件的分发、拦截和处理机制。有兴趣的可以看看《Android触摸事件简单分析》。不过,我这里再次简单总结一下:1、事件一定是先到达父控件上。2、事件简单来说可以分为三种:Down事件、Move事件、Up事件。...

毕淑敏: 流露你的真表情

学医的时候,老师出过一道题目:人和动物,在解剖上的最大区别是什么?学生们争先恐后发言,都想由自己说出那个正确的答案。这看起来并不是个很难的问题。有人说,是直立行走。先生说,不对。大猩猩也是可以直立行走的。有人说,是懂得用火。先生不悦道,我问的是生理上的区别,并不是进化工的异同。更有同学答,是...