有关于enable和clickable

作者: Ling912 | 来源:发表于2016-08-01 14:32 被阅读3855次

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

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

    下面,看代码吧!

    enable和Clickable

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

    再往下看:

    enable和Clickable

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

    由以上可以得出结论:

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

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

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

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

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

    相关文章

      网友评论

        本文标题:有关于enable和clickable

        本文链接:https://www.haomeiwen.com/subject/vawxsttx.html