android recycleView GridLayoutManager 定义分割线间距
您可以通过设置GridLayoutManager的addItemDecoration()方法来定义分割线间距。
首先,您需要创建一个自定义的ItemDecoration类,继承自RecyclerView.ItemDecoration。然后,重写getItemOffsets()方法,在该方法中定义分割线的间距。
以下是一个示例代码:
public class GridSpacingItemDecoration extends RecyclerView.ItemDecoration {
private int spacing;
public GridSpacingItemDecoration(int spacing) {
this.spacing = spacing;
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
int position = parent.getChildAdapterPosition(view);
int spanCount = ((GridLayoutManager) parent.getLayoutManager()).getSpanCount();
int column = position % spanCount;
outRect.left = spacing - column * spacing / spanCount;
outRect.right = (column + 1) * spacing / spanCount;
if (position >= spanCount) {
outRect.top = spacing;
}
}
}
然后,在您的RecyclerView中,使用以下代码添加分割线间距:
int spacing = getResources().getDimensionPixelSize(R.dimen.spacing);
GridLayoutManager layoutManager = new GridLayoutManager(this, 2);
recyclerView.setLayoutManager(layoutManager);
recyclerView.addItemDecoration(new GridSpacingItemDecoration(spacing));
在上面的代码中,spacing是您定义的分割线间距的尺寸值。您可以将其定义在dimens.xml文件中,以便在不同的屏幕密度上进行适配。
希望以上信息能对您有所帮助
原文地址: https://www.cveoy.top/t/topic/hOuJ 著作权归作者所有。请勿转载和采集!