一、前言:
RecyclerVeiw本身自带有距离设置的类,如下:只需要我们继承一下即可
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;
}
}
设置这个之后发现前两端的距离相等,但是中间的是两倍,这是为什呢?
因为left 和right在中间都有设置,所有中间宽
这里就要利用padding值来改变,加入需要设定的值是10dp,那么久设置前后左右的距离为space =5dp,Recyclerview的padding值也设置为5dp,那么上下左右就一直了
mRecycleView.setPadding(dimension,dimension,dimension,dimension);
SpaceBaseItemDecoration decoration = new SpaceBaseItemDecoration((int) getResources().getDimension(R.dimen.specotor_space));
mRecycleView.addItemDecoration(decoration);
在加载图片计算宽度的时候,我们就需要算出
网友评论