Я пытаюсь создать ItemDecoration, нарисованную как разделитель между элементами RecyclerView с левым заполнением.RecyclerView ItemDecoration
В настоящее время я эту реализацию внутри класса ItemDecoration:
@Override
public void onDrawOver(Canvas c, RecyclerView parent, RecyclerView.State state) {
final int left = parent.getPaddingLeft();
final int right = parent.getWidth() - parent.getPaddingRight();
final RecyclerView.LayoutManager lm = parent.getLayoutManager();
final int childCount = parent.getChildCount();
for (int i = 0; i < childCount; i++) {
final View child = parent.getChildAt(i);
RecyclerView.ViewHolder viewHolder = parent.getChildViewHolder(child);
final int top = lm.getDecoratedBottom(child);
final int bottom = top + mDivider.getIntrinsicHeight();
mDivider.setBounds(left + 40, top, right, bottom);
mDivider.draw(c);
}
}
Но, похоже, делитель еще рисунок себя всю ширину. Так что я делаю неправильно?
Я также попытался установить InsetDrawable с левыми вставками (из xml), как разделитель, но похоже, что он вообще не будет рисовать его.
PS. Это значение 40 просто жестко закодированное, для пояснительной цели. mDivider - это Drawable.
Заканчивать http://www.gadgetsaint.com/android/recyclerview-header-footer-pagination/ – ASP