iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 26
0

昨天撈完資料後
今天先來順一下邏輯
首先看看以下這張圖
https://ithelp.ithome.com.tw/upload/images/20201010/20107165rNsGpJgf5L.png
如果按照原生的行為排列就是 0~5,焦點放在第0個位置,顯示第0筆的資料
那如果我在一開始就把焦點放在 index 為 1 的位置,如下圖
https://ithelp.ithome.com.tw/upload/images/20201010/20107165SIZdaevA8p.png
這個樣子從資料面上來看又不太對,應該是預設焦點在第1個位置但是資料是第0筆資料,所以左邊是最後一筆資料,右邊是第1筆資料,如下圖
https://ithelp.ithome.com.tw/upload/images/20201010/20107165ONadoyjkbA.png
此時我按下遙控器左鍵,讓資料往右移動,以原生的行為來說應該會焦點往左移到第0個位置,但我不這麼做,讓他維持在第1個焦點,但資料改變成最後一筆資料,如下圖
https://ithelp.ithome.com.tw/upload/images/20201010/20107165DtkRZnEHwQ.png
此時如果我按下遙控器右鍵,讓資料往左移動,這裡就照著原生行為走,直到焦點來到倒數第二個位置
https://ithelp.ithome.com.tw/upload/images/20201010/20107165Tc37MAnJOb.png
https://ithelp.ithome.com.tw/upload/images/20201010/20107165i3VcWZ7SSD.png
https://ithelp.ithome.com.tw/upload/images/20201010/20107165tTQPJ8Fafn.png
到了倒數第二個焦點的位置後,在繼續按下遙控器右鍵,以原生行為來說應該會把焦點移動到最後一個位置,但我一樣不這麼做,讓他維持在倒數第二個位置,改變資料位置就好,如下圖
https://ithelp.ithome.com.tw/upload/images/20201010/20107165s4pUqojxX6.png

所以這樣看下來,我的焦點只會在第1個到倒數第二個中間移動,永遠不會移動到第0個和最後一個
這是這次實作的重點
所以我們明天就會需要用到 HorizontalGridView 的 OnLayoutCompleteListener 和 OnChildViewHolderSelectedListener 這兩個 listener 囉~


上一篇
Day 25 - 客製化 ListRowPresenter 來實作 Loop Banner 效果 Part1
下一篇
Day 27 - 客製化 ListRowPresenter 來實作 Loop Banner 效果 Part3
系列文
宅經濟起飛,想當顆沙發馬鈴薯嗎??智慧電視會是未來的趨勢嗎??讓我們一探 Android TV 的神秘世界30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言