Hallo teman-teman semua, kali ini kita akan membahas mengenai garis pada recyclerview. Garis ini sering disebut sebagai divider, developer biasanya juga sering menambahkannya pada item_view kemudian disesuaikan (gone() atau visible()). Sebenarnya ada cara lebih mudah yaitu dengan menambahkan code devider seperti ini :

MaterialDividerItemDecoration(
        requireContext(),
        DividerItemDecoration.VERTICAL
)

Fungsi ini memiliki 2 parameter yaitu context dan orientasi

MaterialDividerItemDecoration(@NonNull Context context, int orientation

Yang mana, artinya kamu bisa menyesuaikan sesuai dengan orientasi yang kamu inginkan misalnya data berupa list (orientasi vertikal) ataupun horizontal yang biasa digunakan pada Slide atau Banner.

Namun, ada kalanya kita harus menghapus divider untuk data terakhir agar design tetap terjaga dengan baik. Untuk itu kamu bisa menambahkan line code seperti ini :

MaterialDividerItemDecoration(
     requireContext(),
     DividerItemDecoration.VERTICAL
     ).apply {
          isLastItemDecorated = false
     }

Dan apabila, kamu harus menyesuaikan warna garis tersebut dengan warna design yang ada. Kamu bisa menambahkan line color seperti ini :

MaterialDividerItemDecoration(
     requireContext(),
     DividerItemDecoration.VERTICAL
     ).apply {
         isLastItemDecorated = false
setDividerColor(ContextCompat.getColor(requireContext(), R.color.grey_disable))
     }

Gimana? Sangat mudah bukan. Ini contoh penerapan secara fullnya dari inisialisasi adapter hingga submit data (kamu tidak melihat settingan layoutManager disana) :

rvInvoice.adapter = invoiceAdapter
rvInvoice.addItemDecoration(
    MaterialDividerItemDecoration(
         requireContext(),
         DividerItemDecoration.VERTICAL
    ).apply {
         isLastItemDecorated = false         setDividerColor(ContextCompat.getColor(requireContext(), com.core.core.R.color.grey_disable))
    }
)
invoiceAdapter.submitList(dataList)

Karna settingan itu, selalu saya masukkan ke xml :

<androidx.recyclerview.widget.RecyclerView
            android:id="@+id/rv_invoice"
            android:layout_width="@dimen/distance_0dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="@dimen/distance_8dp"
            android:orientation="vertical"
            app:layout_constrainedHeight="true"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
            tools:itemCount="4"
            tools:listitem="@layout/item_invoice" />

Demikianlah, semoga bermanfaat.

SebelumSesudah
table design recyclerview sesudah dan sebelum

Categorized in:

Tagged in:

,