setClickable 和setEnable 的区别

每次看完一些东西之后 ,当时明白 之后就忘记了 ,所以 以后看完一篇 都自己写个总结。不用用到的时候再去从新看。

setClickable(false)和setEnable(false)笼统的都是禁止点击的意思。

但是有细微的差别:

setClickable()是设置控件点击无效,但是可以点击,颜色不会变灰色。而使用他时 setClickable(false)方法一定要放在setOnClickListener()方法之后。不然没有效果

我们来看一下Android源码

[html]  view plain  copy
  1. public void setOnClickListener(OnClickListener l) {  
  2.     if (!isClickable()) {  
  3.         setClickable(true);  
  4.     }  
  5.     getListenerInfo().mOnClickListener = l;  
  6. }  
这就是原因。

setEnable(false)将控件能完全禁用,颜色会变灰色,放到任意地方都可以。



你可能感兴趣的:(setClickable 和setEnable 的区别)