本文只涉及最簡單的一些跟焦點(diǎn)有關(guān)的知識土居,包括setClickable、setEnabled、setFocusable戒良、requestFocus 四個(gè)控件
一·setClickable
1.設(shè)置為true時(shí)锈至,表明控件可以點(diǎn)擊
2.設(shè)置為false時(shí)。表明不能點(diǎn)擊;點(diǎn)擊適用于鼠標(biāo)毯炮,鍵盤按鍵,遙控器等
3.SetOnClickListener方法會(huì)默認(rèn)把控件的setClickable設(shè)置為true
二·setEnabled 使能控件
1.設(shè)置為false适揉,該控件永遠(yuǎn)不會(huì)活動(dòng)窖剑,不管設(shè)置為什么屬性都無效
2.設(shè)置為true,表明激活該控件捌斧,控件處于活動(dòng)狀態(tài)笛质,能響應(yīng)事件;比如觸摸捞蚂,點(diǎn)擊妇押,按鍵事件等
3.相當(dāng)于總開關(guān)一樣,只有總開關(guān)打開姓迅,才能使用其他事件
三·setFocusable 使能控件
1.設(shè)為true時(shí)敲霍,具備獲得焦點(diǎn)的機(jī)會(huì)俊马,能力,并不是說立刻獲得焦點(diǎn)
四·requestFocus
1.設(shè)置是否獲得焦點(diǎn)肩杈,也就是說請求立刻得到焦點(diǎn)
五· setFocusable和requestFocus的對比
1.焦點(diǎn)獲取的區(qū)別
setFocusable 是具備獲得焦點(diǎn)的能力
requestFocus 是立刻獲得焦點(diǎn)
2.使用
setFocusable 當(dāng)我們要設(shè)置某個(gè)控件的焦點(diǎn)監(jiān)聽事件時(shí)要設(shè)置setFocusable為true,否則可能會(huì)出現(xiàn)onFocusableChangeListener監(jiān)聽不到的情況
xxx.setFocusable(true);
xxx.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
//獲得焦點(diǎn)
} else {
}
}
});
}
requestFocus 一般是用在onKeyDown方法中柴我,用來判斷焦點(diǎn)移動(dòng)后哪一個(gè)控件獲得焦點(diǎn)
if(this.getCurrentFocus() == xxx){
if(keyCode == KeyEvent.KEYCODE_DPAD_DOWN){
xxx02.requestFocus();
return true;
}
}
以上就是我接觸到的最基本的使用,記錄一下