要在Android中创建具有相等间距的RecyclerView列表项和父项,您可以使用ItemDecoration类。下面是一个示例代码,演示如何创建ItemDecoration并设置列表项和父项之间的间距相等:
import android.graphics.Rect;
import android.view.View;
import androidx.recyclerview.widget.RecyclerView;
public class EqualSpaceItemDecoration extends RecyclerView.ItemDecoration {
private final int spacing;
public EqualSpaceItemDecoration(int spacing) {
this.spacing = spacing;
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
outRect.left = spacing;
outRect.right = spacing;
outRect.bottom = spacing;
// Add top spacing only for the first item to avoid double spacing between items
if (parent.getChildAdapterPosition(view) == 0) {
outRect.top = spacing;
} else {
outRect.top = 0;
}
}
}
RecyclerView recyclerView = findViewById(R.id.recyclerView);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.addItemDecoration(new EqualSpaceItemDecoration(getResources().getDimensionPixelSize(R.dimen.spacing)));
在上述代码中,R.dimen.spacing
是在资源文件中定义的间距大小。您可以根据需要调整间距大小。
通过这种方式,您可以为RecyclerView的列表项和父项之间创建一个相等的间距。