setEnabled() 和 setClickable() 的区别
Posted Echo-BOX
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了setEnabled() 和 setClickable() 的区别相关的知识,希望对你有一定的参考价值。
工作中有时候经常会遇到控制按钮是否可点击的时候,setEnabled() 和 setClickable() 都可以做到,只要将它们设置成false ,按钮就不可点击,设置成true,按钮就可以点击。
它们的区别在于:
setClickable():设置成true时,按钮为可点击,设置为false时,按钮不可点击,不能响应点击事件,但此时如果setEnabled()为true,那么按钮即使不可点击(setClickable()为false),也会产生变化(一闪一闪)。
setEnabled():设置成true时,相当于激活了按钮,按钮的状态不再是死的,而是会对触摸或者点击产生反应,并且可以响应一些触发事件。而设置成false时,按钮是灰色的,无论是否可点击(即使将setClickable()设置成true),都无法响应任何触发事件。
其实区别就在上面说的几个小地方,总的来看,setEnabled()相当于总开关,控制着按钮的状态,而setClickable()相当于具体的某个开关,控制这个开关是否可以点击。
以上是关于setEnabled() 和 setClickable() 的区别的主要内容,如果未能解决你的问题,请参考以下文章
iOS UIButton、setEnabled 和 button.hidden 不起作用
setEnabled() 与 setClickable() 有啥区别?
RadioGroup.setEnabled(false) 无法按预期工作
button.setEnabled(false) 在 ViewPager 中不起作用