這個(gè)屬性的意思很明顯,就是可以通過(guò)touch來(lái)獲得focus。在手機上開(kāi)發(fā)用的不多,因為大多手機都是觸摸式的。最近一個(gè)TV上的應用需要用到。 一個(gè)界面上有一個(gè)自定義個(gè)button,我需要進(jìn)入這個(gè)界面就高亮這個(gè)button。但是用遙控選擇這個(gè)程序進(jìn)入能正常顯示,用鼠標點(diǎn)擊進(jìn)入就沒(méi)有高亮的效果。最后添加上這個(gè)屬性,效果出來(lái)了。 可見(jiàn),click事件和touch事件在焦點(diǎn)處理上是不同的。
android:descendantFocusability:
通常Android提供給我們的ListItem布局不是我們需要,可能我們想在里面添加一些圖片,按鈕等等,但是這時(shí)候這些可以獲得焦點(diǎn)的子控件將會(huì )提前獲取焦點(diǎn),從而Item沒(méi)有了獲取焦點(diǎn)的能力了,這時(shí)候我們需要設置子控件獲取焦點(diǎn)的能力為false,但是如果子控件較多時(shí),這樣設置比較麻煩,我們可以在我們自定義的item的根屬性下添加:android:descendantFocusability="blocksDescendants"這樣item將會(huì )阻止子控件獲取焦點(diǎn)。該屬性還有其他兩種可能:"beforeDescendants"和"afterDescendants"。分別為在子控件之前和之后。