android点击事件分发中的一些疑难点

本文探讨了Android中点击事件分发的复杂性,包括enable和clickable如何影响事件处理,focusable对点击事件的影响,以及ViewGroup中android:descendantFocusability属性的用法。重点强调enable=false时所有事件不执行,clickable=true仅影响onClick,focusable会影响OnFocusChangeListener,而descendantFocusability=blocksDescendants有助于解决ListView点击事件问题。
摘要由CSDN通过智能技术生成

https://i-blog.csdnimg.cn/blog_migrate/83ee1bc7c87b650451c91e7c40edf8d0.gif

 

 

一:enable与clickable对点击事件的影响:

1.View的Dispatchtouchevent 中 首先调用onTouch(返回值为true则消耗事件),未消耗事件则调用onTouchEvent 。onTouchEvent 首先调用onTouchDelegate(需传入一个Rect参数,可以控制点击范围) ,未消耗事件则调用 onClick(只在MotionEvent.ACTION_UP时触发) 。

 

2.Disenable时onTouch不执行,onTouchEvent执行但是仅仅返回值,如果clickable返回true消耗事件,disaclickable返回false。其中的onTouchDelegate,onClick和onLon

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值