setEnabled(boolean bool)
用法:设置当前控件是否被激活,是否可用。
bool
为 true
时
,表明该控件被激活,控件处于”活动状态“,能够响应或触发各种事件了,比如触摸、点击、按键等;
bool
为 false
时
,则
表明
该
控件没有被激活
,
控件永远不会”活动“,不管为他设置什么UI 属性,都无效果;
相关:
setEnabled(boolean bool)就相当于View控件的事件总开关,只有总开关打开了,才能使用其他事件。
------------------------------------------------------------------------------------------------------------------------------------------
setClickable(
boolean bool
)
用法:
设置当前控件是否可被点击。
bool
为 true时,表明控件可以被点击,触发点击事件;
bool
为 false
时
,
则
表明控件
不可被点击,无法触发任何类型的点击事件。
相关
:
A. “点击事件”的类型,适用于鼠标、键盘按键、遥控器等;
B. setOnClickListener()方法会默认把控件的 setClickable()设置为 true。
------------------------------------------------------------------------------------------------------------------------------------------
setFocusable(
boolean bool
)
用法:设置当前控件是否 "可以" 获得焦点。
bool
为 true时
,
表明该控件
"可以" 获得焦点;
bool
为 false
时
,
则
表明控件
不可以获得焦点,
相关:
A. "可以" 获得焦点,就是说具备获得焦点的机会、能力,当有焦点在控件之间移动时,控件就有这个机会、能力得到焦点。但并不是使当前控件立刻获得焦点,要想当前控件立刻获得焦点,需要用 View.requestFocus()方法;
B. 当设备为可触摸操作的设备(如手机,平板等)时,
setFocusable(
boolean bool
)方法和
setClickable(
boolean bool
)方法的事件触发,并无直接关联,有无焦点并不影响是否可点击;
C. 而当设备为jin不可触摸操作的设备(如智能电视,VR等需要遥控器/手柄操作)时,有无焦点就直接影响点击事件的定位了,需明确。