2018年2月5日 星期一

[Android] RecyclerView 分隔線(divider)製作

問題:用RecyclerView做了一個垂直List,但每項中間要加分隔線,要怎麼做?

參考:
DividerItemDecoration法:DevAndroid簡書1StackOverflow1
自己寫ItemDecoration法:StackOverflow2簡書2
拿別人寫好的來用:GitHub1GitHub2GitHub3 (太多,只寫三個,第一個是看簡書有人推的,後兩個是GitHub超過500★的)

說明:
在RecyclerView裡設分隔線的正途是addItemDecoration,在項目的小View Layout裡做分隔線是邪道(雖然比較簡單 XD)

  • 好啦,那之前都要自己繼承ItemDecoration寫實做,有點難懂,但SupportLibV7 25版後加了DividerItemDecoration,如果用API 25版後編App,可以先用這個試試,詳細用法參考DevAndroid簡書1
  • 如果上面的效果不太理想,或自己編版SDK太舊,或想要更活,就自己寫或用別人寫好的ItemDecoration囉~

嘛...我自己試的結果是,用shape當drawable給DividerItemDecoration,粗細跟顏色都能調,只是會加到最後一個item的下方還有線,如果要解這問題,就要自己實作ItemDecoration了(參考StackOverflow2),如不在意那就OK。

沒有留言:

張貼留言