根据这个答案,我成功地在垂直的RecyclerView项之间设置了分隔线。但是,我还想稍微缩进分隔线。
我通过在RecyclerView.ItemDecoration
子类中硬编码一个INDENT
值来实现它。
int INDENT = 20;
@Override
public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
int left = parent.getPaddingLeft() + INDENT;
int right = parent.getWidth() - parent.getPaddingRight() - INDENT;
// ...
divider.setBounds(left, top, right, bottom);
// ...
}
然而,那时我也必须处理密度无关像素。
最终我找到了类似于 如何在ListView中完成 的解决方案,因此我将其作为答案分享在下面。
dividerItemDecorationInstance.setDrawable(drawable)
实例化后,您必须设置自定义的可绘制对象。 - Shadow