一、前言:
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);
在加載圖片計算寬度的時候,我們就需要算出