昨天撈完資料後
今天先來順一下邏輯
首先看看以下這張圖
如果按照原生的行為排列就是 0~5,焦點放在第0個位置,顯示第0筆的資料
那如果我在一開始就把焦點放在 index 為 1 的位置,如下圖
這個樣子從資料面上來看又不太對,應該是預設焦點在第1個位置但是資料是第0筆資料,所以左邊是最後一筆資料,右邊是第1筆資料,如下圖
此時我按下遙控器左鍵,讓資料往右移動,以原生的行為來說應該會焦點往左移到第0個位置,但我不這麼做,讓他維持在第1個焦點,但資料改變成最後一筆資料,如下圖
此時如果我按下遙控器右鍵,讓資料往左移動,這裡就照著原生行為走,直到焦點來到倒數第二個位置
到了倒數第二個焦點的位置後,在繼續按下遙控器右鍵,以原生行為來說應該會把焦點移動到最後一個位置,但我一樣不這麼做,讓他維持在倒數第二個位置,改變資料位置就好,如下圖
所以這樣看下來,我的焦點只會在第1個到倒數第二個中間移動,永遠不會移動到第0個和最後一個
這是這次實作的重點
所以我們明天就會需要用到 HorizontalGridView 的 OnLayoutCompleteListener 和 OnChildViewHolderSelectedListener 這兩個 listener 囉~