button的setClickable 和 setEnabled 区别

时间:2023-01-28 09:28:40

setClickable(false) 是让控件不能点击 ,但是你可能会发现,如果你想暂时的让一个控件不能被点击,但是setClickable(false)这样做了以后,仍然可以被点击,这是为社么呢?

我们来看一下android源码

public void setOnClickListener(OnClickListener l) {  
    if (!isClickable()) {  
        setClickable(true);  
    }  
    getListenerInfo().mOnClickListener = l;  
} 

原因就是这,设置setOnclickListener方法中会,自动启动  setClickable(true) 方法


setEnable(false)将控件能完全禁用,颜色会变灰色