Следуя этому ответу, мне удалось получить разделитель между элементами вертикального RecyclerView. Тем не менее, я также хотел слегка отступать от разделителей.
Я смог сделать это с помощью жесткого кодирования в значении INDENT в подклассе RecyclerView.ItemDecoration
.
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, поэтому я рассказываю об этом в качестве ответа ниже.