文档章节

android点击事件在不同级别view中的优先级问题

JayPark不作死
 JayPark不作死
发布于 2014/10/13 10:22
字数 363
阅读 2.6K
收藏 1

行业解决方案、产品招募中!想赚钱就来传!>>>

开发中很常见的一个问题,当项目中的listview不仅仅是简单的文字,Item中存在诸如 ImageButton,Button,CheckBox等子控件(也可以说是Button或者Checkable的子类控件),可能会发生点击每一个 item的时候没有反应,无法获取的焦点。 这是因为此时这些子控件会将焦点获取到,所以常常当点击item时变化的是子控件,item本身的点击没有响应。

   这时候就可以使用descendantFocusability属性来解决,他可以设置一个控件如何处理触摸事件,该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。

   属性的值有三种:

1
2
3
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点

   用法示例,下面的LinearLayout会屏蔽其中button的点击事件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<LinearLayout
     android:id= "@+id/titlebar_right_tab"
     android:layout_width= "55dip"
     android:layout_height= "fill_parent"        
     android:gravity= "center"
     android:background= "@drawable/selector_tab"
     android:descendantFocusability= "blocksDescendants"
>
     <Button
         android:layout_width= "50dip"
         android:layout_height= "50dip"
         android:text= "按钮"
     />     
</LinearLayout>


   当然对于重写了ontouchevent 或者 onintercepttouchevent 方法的自定义控件来说,这个属性可能不会起作用。


JayPark不作死
粉丝 15
博文 51
码字总数 13622
作品 0
苏州
程序员
私信 提问
加载中
请先登录后再评论。
Netty那点事(三)Channel与Pipeline

Channel是理解和使用Netty的核心。Channel的涉及内容较多,这里我使用由浅入深的介绍方法。在这篇文章中,我们主要介绍Channel部分中Pipeline实现机制。为了避免枯燥,借用一下《盗梦空间》的...

黄亿华
2013/11/24
2W
22
浅入浅出Android(003):使用TextView类构造文本控件

基础: TextView是无法供编辑的。 当我们新建一个项目MyTextView时候,默认的布局(/res/layout/activity_main.xml)中已经有了一个TextView: <TextView 运行效果如下: 修改其文本内容...

樂天
2014/03/22
588
1
树莓派(Raspberry Pi):完美的家用服务器

自从树莓派发布后,所有在互联网上的网站为此激动人心的设备提供了很多有趣和具有挑战性的使用方法。虽然这些想法都很棒,但树莓派( RPi )最明显却又是最不吸引人的用处是:创建你的完美家用...

异次元
2013/11/09
5.3K
8
程序猿媛一:Android滑动翻页+区域点击事件

滑动翻页+区域点击事件 ViewPager+GrideView 声明:博文为原创,文章内容为,效果展示,思路阐述,及代码片段。文尾附注源码获取途径。 转载请保留原文出处“http://my.oschina.net/gluoyer...

花佟林雨月
2013/11/09
4.1K
1
Touch Visualizer

在界面上加上用户点击、划动屏幕时的轨迹。当用户的手指在屏幕上触摸或点击时(触发任意点击事件),会在手指点击的地方加上慢慢扩展消失的红色圆环,并且在手指触摸的地方加上半透明的圆形效...

匿名
2013/01/26
416
0

没有更多内容

加载失败,请刷新页面

加载更多

【补丁二次更新】CVE-2020-5902: F5 BIG-IP 远程代码执行漏洞通告更新

0x00 更新细节 2020年07月11日,360CERT检测发现F5官方更新了漏洞缓解措施,之前的缓解措施可以仍可被绕过。本次更新,官方更新了针对攻击者利用hsqldb利用链,通过构造恶意请求,绕过官方发...

360CERT
07/12
0
0
33种 IDEA 配置,让你的 IDEA 有飞一般的感觉

击上方蓝色“Java精选”,选择“设为星标” 技术文章第一时间送达! 作者: 琦彦 https://blog.csdn.net/fly910905/article/details/77868300 IDEA 全称 IntelliJ IDEA,是java编程语言开发的...

afreon
04/16
0
0
IDEA 2020.2 稳定版发布!竟支持 Java15!

  公众号改版后文章乱序推荐,希望你可以点击上方“Java进阶架构师”,点击右上角,将我们设为★“星标”!这样才不会错过每日进阶架构文章呀。      2020年Java原创面试题库连载中  ...

osc_qroejco7
12分钟前
0
0
解读直播平台源码底层技术和后台功能展示方案

随着互联网行业以及市场趋势的变化,直播行业迎着时代的浪潮开启新的征程,各行各业开始了直播的新模式,直播平台源码究竟多重要相比这里不必多说。 现在市场上的直播源码错综复杂,选择的时...

布谷科技王飘飘
13分钟前
0
0
SpaceX载人龙飞船返回地球!59年来首次降落海上

     大数据文摘出品   作者:牛婉杨   历经2个月,SpaceX载人龙飞船回来了!   美国东部时间8月2日14时48分,SpaceX载人龙飞船于美国佛罗里达州附近的海面降落。此次龙飞船成功返...

osc_2g0zdjro
14分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部