一、效果圖

如上圖所示:時間是一個布局,圖片是一個布局。用recycleview的多布局實現(xiàn)上邊的效果。
二、具體實現(xiàn)
1、首先多布局,肯定要能區(qū)分出來是哪個布局。重寫adapter中的getItemViewType()方法來區(qū)分,具體實現(xiàn):

viewtype可以靈活定義,可以在實體類中,也可以通過其他形式,根據(jù)position來區(qū)分。
2、為不同的viewType引入其對應的布局,并創(chuàng)建對應的viewholder

說明:viewtype最好定義為常量,不要像我這里一樣寫成1,2。

3、綁定數(shù)據(jù)

判斷viewholder屬于哪種,在給對應的控件填充數(shù)據(jù)。
4、設置recycleview的樣式

三、圖片展示為GridView布局樣式
可能會想,把LinearLayoutManager換成GridLayoutManager就可以了,來看下效果

效果圖:

并列三個item,時間占了一個位置,我們不想要這樣的效果,我們想要的是時間是一個單獨的一行,圖片展示為網格布局的效果。
這時候就用上了setSpanSizeLookup了。

作用就是靈活的設置每行顯示的個數(shù)。上邊的代碼是根據(jù)adapter中的viewType來靈活設置span size的。運行效果如下:
