Ответ
В RecyclerView можно использовать:
- ItemDecoration - добавляет отступы/разделители между элементами без изменения адаптера:
recyclerView.addItemDecoration(
DividerItemDecoration(context, LinearLayoutManager.VERTICAL)
)
- Добавление пустого ViewHolder - в адаптере создаем специальный тип для разделителя:
override fun getItemViewType(position: Int): Int {
return if (isDividerPosition(position)) TYPE_DIVIDER else TYPE_ITEM
}
- Margin/Padding в макете - простой способ через XML:
<View
android:layout_height="1dp"
android:background="#CCCCCC"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"/>
- ShapeDrawable - кастомные разделители через XML drawable:
<shape xmlns:android="...">
<size android:height="1dp"/>
<solid android:color="#CCCCCC"/>
</shape>
ItemDecoration - наиболее производительный способ, так как не требует перерисовки элементов списка.