轉(zhuǎn)載-RecyclerView中的item布局居中設(shè)置

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


 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) {
        //不是第一個的格子都設(shè)一個左邊和底部的間距
        outRect.left = space;
        outRect.bottom = space;
//可自行設(shè)置left,top,right,bottom的間距屬性
        //由于每行都只有3個,所以第一個都是3的倍數(shù),把左邊距設(shè)為0
        if (parent.getChildLayoutPosition(view) %3==0) {
            outRect.left = 0;
        }
    }

}
  • 可以對RecyclerView進(jìn)行繼承重寫此方法

  • 或者找到RecyclerView的實例,加入以下代碼:


  int spacingInPixels = mContext.getResources().getDimensionPixelSize(R.dimen.space);
            recyclerView.addItemDecoration(new SpaceItemDecoration(spacingInPixels));

R.dimen.space是values包下的資源文件,主要用于尺寸資源XML文件的使用,在這里R.dimen.space是需要自己測量的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容