遇到控制按钮是否可点击的时候, setEnabled() 和 setClickable() 都可以做到, 只要将它们设置成false, 按钮就不可点击, 设置成true, 按钮就可以点击.
两者区别在于:
-
setClickable(): 设置成true时, 按钮为可点击, 设置为false时, 按钮不可点击, 不能响应点击事件, 但此时如果setEnabled()为true, 那么按钮即使不可点击(setClickable()为false), 也会产生变化.
-
setEnabled(): 设置成true时, 相当于激活了按钮, 按钮的状态不再是死的, 而是会对触摸或者点击产生反应, 并且可以响应一些触发事件. 而设置成false时, 按钮是灰色的, 无论是否可点击(即使将setClickable()设置成true), 都无法响应任何触发事件.
区别如上述. 总的来说, setEnabled()是总开关,控制着按钮的状态,而setClickable()相当于子开关,控制这个开关是否可以点击.