使用RecyclerView設(shè)置間距,需要重寫RecyclerView.ItemDecoration這個(gè)類。有如下的效果圖需要實(shí)現(xiàn),間距只有中間的格子和底部的格式之間有。

實(shí)現(xiàn)方法很簡單,因?yàn)檫@個(gè)效果是每一行有3個(gè)格子,只要每行的第一個(gè)格式左邊間距為0即可以。其他都設(shè)置左邊距和底部距離。
代碼如下:
public class SpaceItemDecoration extends RecyclerView.ItemDecoration { private int space; public SpaceItemDecoration(int space) { this.space = space; } @Override public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { //不是第一個(gè)的格子都設(shè)一個(gè)左邊和底部的間距 outRect.left = space; outRect.bottom = space; //由于每行都只有3個(gè),所以第一個(gè)都是3的倍數(shù),把左邊距設(shè)為0 if (parent.getChildLayoutPosition(view) %3==0) { outRect.left = 0; } }}以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注