焦点设置 (一)
来源:互联网 发布:如何骂淘宝天下小二 编辑:程序博客网 时间:2024/05/22 11:32
对焦点的处理是Android 电视开发与手机开发最大的区别之一。在手机上,关于焦点我们几乎不需要做额外的处理;而在电视机上则需要做大量的处理,如:焦点的显示样式(颜色、大小等)、焦点的导航、显示动画等。
focusable与focusableInTouchMode
在xml中对view设置属性:
android:focusable=”true”
android:focusableInTouchMode=”true”
动态设置:
View.setFocusable(true);
View.setFocusableInTouchMode(true)
上述属性focusable设置为true时当前控件才能获得焦点;反之,不能获得焦点。focusableInTouchMode用于设置是否可以通过触摸获取焦点。在手机应用开发中一般不需要对上述属性进行设置,电视应用很有必要,因为电视通常是通过遥控器来控制焦点的(也可以是鼠标)。
requestFocus
动态设置:
View.requestFocus();
xml中:
为控件设置焦点,通常会优先获取焦点(可能某些控件会抢夺焦点,如EditText)。打开页面时,通常会使用它来决定谁优先获得焦点。
descendantFocusability
当焦点获取出现问题是你可以尝试设置descendantFocusability属性 ,有以下三中值:
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
建议简化布局层级,层级过多会导致焦点处理变得复杂,也很难实现特殊的焦点选中效果。
阅读全文
0 0
- 焦点设置 (一)
- 关于EditText代码设置焦点及软键盘设置(一)
- 设置焦点
- 设置焦点
- 设置焦点
- axure教程(一)文本框焦点效果
- TextView无焦点滚动(一)
- 设置控件焦点
- asp.net设置焦点
- 设置Textbox焦点位置
- vc 设置焦点
- MFC中设置焦点
- flex4设置初始焦点
- 设置窗体默认焦点
- html 设置输入法焦点
- flex设置焦点
- 设置控件焦点
- Swing设置默认焦点
- git的分支管理
- Redis新特性GEOHASH
- laravel项目登录不了的问题
- linux cpufreq framework(3)_cpufreq core
- 一派胡言!敢说我们程序员是出轨率最高的群体?
- 焦点设置 (一)
- 爬诸葛找房数据——casting3T
- JavaScript 30 Day -- 03 CSS Variables
- usaco6.3.3 Cowcycles
- 用apply实现bind
- js中没有函数重载
- 汇报&开题PPT模板网站
- 树莓派的网络设置
- Linux CPU core的电源管理(3)_cpu ops