1. 程式人生 > 其它 >VerticalGridView焦點移動到最上面時,焦點出不去的問題

VerticalGridView焦點移動到最上面時,焦點出不去的問題

如圖,做機頂盒開發的時候可能會遇到這樣的頁面,上邊一個tablayout,下邊是一個ViewPager,fragment內有一個VerticalGridView,當焦點移動到VerticalGridView最上邊的item上,再按遙控器上鍵想要移動焦點到tab欄上時,發現不起作用,焦點到這就上不去了,焦點只能在VerticalGridView內部移動,不能去到列表外部,妥妥的只能進不能出

解決辦法:在xml頁面中給VerticalGridView控制元件加一句

app:focusOutFront="true"

就OK了,注意這句是沒有程式碼提示的,要完全手打。新增完報紅的話在根部局新增

xmlns:app="http://schemas.android.com/apk/res-auto"

HorizontalGridView同理,焦點在最左側時再向左移動焦點出不去也可以新增這條屬性,我看有人說針對HorizontalGridView是用app:FocusOutSideStart="true",經過測試之後發現這兩種列表的這個問題都是用focusOutFront的,FocusOutSideStart針對這個問題是不起作用的。從名字看,猜測應該是用來以列表方向的側面跳出列表的,那麼VerticalGridView應該也是可以用到這個屬性的,當然,沒猜對的話可能是因為掐錯了手指頭,不提也罷!

同類型的屬性還有focusOutEnd, focusOutSideStart,focusOutSideEnd,做個記錄,以後查一下他們的作用