android的clickable功能,有关于enable和clickable

Android中,控件的Enable和Clickable属性有何区别?

首先要搞清楚的是,当一个控件的clickable属性无论是true还是false,控件看起来都是没有任何区别的。而你设置enable的话,那么就有区别了。enable是false的话,控件看起来都不可点击了!

下面,看代码吧!

44befb1a2931

enable和Clickable

这种情况下,48行的日志是打印不出来的,而56行的那行日志是可以打印出来的。

再往下看:

44befb1a2931

enable和Clickable

这种情况下,无论44行还是53行的日志,都打印不出来。

由以上可以得出结论:

设置了enable为false的话,onClick事件是完全屏蔽的,而clickable属性就要看设置属性和设置OnClicListener的先后顺序了。

最后,肯定还有一点要搞清楚的是:在xml布局文件中使用这两个属性会怎么样呢?

答案是和前面那种是一样的,也就是说,xml布局文件其实在前面已经被设进去了。

最最后,至于为什么会这样,其实我也不知道,再深层次的东西,就要深究到事件分发那一块了。

题外话:说明的是两个属性的优先顺序,enable的优先级要高于clickable。如果enable为false的控件,是不会对事件进行消费的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值