2015年2月8日 星期日

Android開發(八十一) 如何使用recyclerview 畫出多種span的layout 例如gridview Header

先看一下下面的圖

在recyclerview出現以前要畫出上面這樣的layout其實是比較困難的,那時候必須要自己想辦法刻,如果是更複雜的layout就需要花更多時間來設法客製化了.

但是在recyclerview出現之後,要畫出這樣的layout就變得相對簡單了許多,
recyclerview強大的地方在於他有layoutmanger
使用gridlayout manager就可以讓layout長的像gridview一樣,
不過要如何才能動態控制我們想要的Span呢?

gridlayoutmanager有提供一個method叫做 setSpanSizeLookup
在callback裡面只需要回傳某個位置所需要的spansize,最終在layout被畫出來時就會是我們所指定的size,就是那麼簡單就可以完成我們所想要的功能了!!

那要完成gridview header呢?...我想也是相當容易的事情~
只需要將position = 0 的 span size 設為 colum size 即可


最後附上sample code
https://gist.github.com/nightbear1009/bd09fdbd30f92504290f

沒有留言:

張貼留言