I am using a custom divider.
And I add a divider after each itemView.
When I select several elements next to each other, it turns out that the divider is between them. And you can see white space on the left.
public OrderRecyclerViewItemDecoration(Context context, int orientation) : base(context, orientation)
{
Drawable = context.CompatGetDrawable(ResourceConstant.Drawable.recycler_view_divider);
}
public override void OnDraw(Canvas c, RecyclerView parent, RecyclerView.State state)
{
var childCount = parent.ChildCount;
for (int i = 0; i < childCount; i++)
{
var child = parent.GetChildAt(i);
var childPosition = parent.GetChildAdapterPosition(child);
var viewType = parent.GetAdapter()!.GetItemViewType(childPosition);
if (!NeedDivider(viewType))
continue;
var orderItemLeft = child.FindViewById<View>(Resource.Id.order_item_left);
int left = orderItemLeft?.Right ?? child.Left;
Drawable.Bounds = new(left, child.Bottom, child.Right, child.Bottom + Drawable.IntrinsicHeight);
Drawable.Draw(c);
}
}
How can I make a divider inside each item?