天天看點

HorizontalScrollView包裹RecyclerView,使用StaggeredGridLayoutManager均分網格形成表格狀清單,不固定列,每次重新整理資料列位置異常錯亂變動問題

HorizontalScrollView包裹RecyclerView,使用StaggeredGridLayoutManager均分網格形成表格狀清單,不固定列,每次重新整理資料列位置異常錯亂變動問題

問題描述:用HorizontalScrollView包裹RecyclerView,使用StaggeredGridLayoutManager均分網格形成表格狀清單,由于列不固定,具體列數來自伺服器,這樣每次重新整理資料時候,要清空RecyclerView的Adapter,重新裝填資料,有可能在視野可見的列每次重新整理資料時候,列位置異常錯亂跑動問題。

解決方案就是寫死RecyclerView的Adapter中ViewHolder中View的寬度值。這樣StaggeredGridLayoutManager在切分劃分縱橫網格時候就會按照指定的寬度劃分,就不會錯亂了。否則StaggeredGridLayoutManager就要按照自己的均分原則,那麼如果RecyclerView中的子Item View很多種類型,且寬度不固定,勢必有些寬有些窄些,那麼StaggeredGridLayoutManager的均分政策就會導緻總的寬度的收縮,進而導緻錯亂。

繼續閱讀