哈哈,你在做反面教材嘛惧眠?不知道哪個是你寫的,哪個是網(wǎng)上的錯誤的忌栅。
糾正一下:首先,你的代碼里出現(xiàn)FastStaggeredGridLayoutManager卷雕?這個是從哪里來的蒸甜?。我猜測睛竣,繼承了LayoutManager,這個就是一切的關(guān)鍵(可能里面做了很多處理晰房,從而實現(xiàn)了瀑布流效果)。也不是StaggeredLayoutManager射沟。
網(wǎng)上說的給一個random高度殊者,也能實現(xiàn)。只不過數(shù)據(jù)多了验夯,會錯位猖吴。比較有效的方式跟圖片一起獲取圖片的高寬來加載。
你說只有Glide能實現(xiàn)挥转,你用過ImageLoader嘛海蔽?用過Picasso?用過Coil?..其實,不需要這些第三方庫也能實現(xiàn)绑谣。只不過Glide沒有圖片寬高的情況下能獲取寬高党窜。
再說一個比較突出的,holder.getViewType()你知道這個是什么嘛借宵?感覺你沒理解這個是什么…
最后幌衣,無論是從哪里,拷貝別人的代碼壤玫,注明一下來處豁护。表示尊重。