目录
前言
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监听焦点丢失和获取变化,然后做一定的处理。
参考文章
历史上的今天
暂无评论...
随机推荐
[摘]对于Fragment的一些理解
Fragment为何要用Fragment是Android 3.0 (Honeycomb)被引入的。主要目的是为了给大屏幕(如平板电脑)上更加动态和灵活的UI设计提供支持。由于平板电脑的屏幕比手机的屏幕大很多,因此可用于组合和交换的UI组件的空间更大,利用Fragment实现此类设计的时,就无需管...
LocalServices和SystemService等简介
前言在上次简单介绍SystemServer(《SystenServer的启动之一》)时,里面涉及几个比较重要的类SystemServiceManager,SystemService和LocalServices,因此今天就单独介绍一下。正文涉及文件frameworks\base\servic...
Android图片倒影记录
前言Android对图片进行倒影处理。也就是对底部进行一定高度的翻转。具体效果如图正文直接上代码<!-- layout_height= 倒影高度+分割线高度+图片高度,否则显示不全 --><com.biumall.reflectview.view.Reflect...
罗伯特·弗罗斯特:未选择的路
黄色的树林里分出两条路,可惜我不能同时去涉足,我在那路口久久伫立,我向着一条路极目望去,直到它消失在丛林深处。 但我却选了另外一条路,它荒草萋萋,十分幽寂,啊,留下一条路等改日再见! 但我知道路径延绵无尽头,恐怕我难以再回返。 也许多少年后在某...
Android focus获取状态简介
前言简单记录一下Android中View的focus状态获取。正文隐藏内容!付费阅读后才能查看!¥1 ¥3多个隐藏块只需支付一次付费阅读参考文章《Android中走马灯(或跑马灯)以及相关问题总结》
Android 中Bn和Bp介绍
前言阅读Android源码时总是遇到Bnxx和Bpxx等类,老是对不上号,容易迷糊,因此这里记录一下,方便自己查阅。正文BP(binder proxy)和BN(binder native)是通过binder来通信的,Bp端可以通过BinderProxy的transact()方法与Bn端发送请...