android之descendantFocusability用法简析
2016-07-17 12:38
537 查看
listView的Item被抢焦点,这是开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承BaseAdapter,在adapter中按照需求进行编写,问题就出现了,由于在你自己定义的Item中存在诸如ImageButton,Button,CheckBox等子控件,此时这些子控件会将焦点获取到,所以常常当点击item时变化的是子控件,item本身的点击没有响应。
这时候就可以使用descendantFocusability来解决啦,该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。
属性的值有三种:
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
通常我们用到的是第三种,即在Item布局的根布局加上Android:descendantFocusability=”blocksDescendants”的属性就好了.
这时候就可以使用descendantFocusability来解决啦,该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。
属性的值有三种:
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
通常我们用到的是第三种,即在Item布局的根布局加上Android:descendantFocusability=”blocksDescendants”的属性就好了.
相关文章推荐
- JS实现密码框根据焦点的获取与失去控制文字的消失与显示效果
- JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法
- Jquery实现兼容各大浏览器的Enter回车切换输入焦点的方法
- 文本框倒叙输入让输入框的焦点始终在最开始的位置
- JavaScript判断表单为空及获取焦点的方法
- JavaScript事件类型中焦点、鼠标和滚轮事件详解
- JS实现方向键切换输入框焦点的方法
- JavaScript使用focus()设置焦点失败的解决方法
- 当某个文本框成为焦点时即清除文本框内容
- input 输入框获得/失去焦点时隐藏/显示文字(jquery版)
- android:descendantFocusability方法介绍
- JavaScript 关于元素获取焦点(隐藏元素与div)
- 有效的捕获JavaScript焦点的方法小结
- textarea焦点的用法实现获取焦点清空失去焦点提示效果
- javascript实现焦点滚动图效果 具体方法
- javascript新建标签,判断键盘输入,以及判断焦点(示例代码)
- WinForm中变Enter键为Tab键实现焦点转移的方法
- JavaScript组件焦点与页内锚点间传值的方法
- 360浏览器文本框获得焦点后被android软键盘遮罩该怎么办
- js设置文本框中焦点位置在最后的示例代码(简单实用)