RecyclerView瀑布流設(shè)置左、右、上、下的距離一樣

一、前言:

RecyclerVeiw本身自帶有距離設(shè)置的類,如下:只需要我們繼承一下即可

public class SpaceBaseItemDecoration extends RecyclerView.ItemDecoration {

    private int space;

    public SpaceBaseItemDecoration(int space) {
        this.space = space;
    }

    @Override
    public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
        RecyclerView.LayoutManager layoutManager = parent.getLayoutManager();
            outRect.top = space;
            outRect.left = space;
            outRect.right = space;
            outRect.bottom = space;

    }
}

設(shè)置這個之后發(fā)現(xiàn)前兩端的距離相等,但是中間的是兩倍,這是為什呢?

因為left 和right在中間都有設(shè)置,所有中間寬

這里就要利用padding值來改變,加入需要設(shè)定的值是10dp,那么久設(shè)置前后左右的距離為space =5dp,Recyclerview的padding值也設(shè)置為5dp,那么上下左右就一直了

mRecycleView.setPadding(dimension,dimension,dimension,dimension);
SpaceBaseItemDecoration decoration = new SpaceBaseItemDecoration((int) getResources().getDimension(R.dimen.specotor_space));
mRecycleView.addItemDecoration(decoration);

在加載圖片計算寬度的時候,我們就需要算出

屏幕寬度一半--減去--space *6 兩個padding + 前后左右

參考:https://blog.csdn.net/puyacheer/article/details/70145334

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

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

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