Tutorial Android : Membuat Gridlayout Recyclerview dengan Kotlin
Pada post sebelumnya telah saya bahas bagaimana membuat recyclerview dengan bahasa kotlin, kali ini saya akan bahas bagaimana jika kita butuh tampilan recylerview tersebut berbentuk grid ? jawabannya tinggal ubah bagian layoutmanager nya,
salah satu kelebihan recyclerview dibanding listview adalah fleksibel dalam menentukan layout manager,
misal kita mau menampilkan list datanya secara horizontal bukan vertical, tinggal ubah layout manager menjadi
rvMain.apply {
layoutManager = LinearLayoutManager(this@MainActivity, LinearLayoutManager.HORIZONTAL, false)
adapter = heroesAdapter
}
- this@MainActivity : digunakan untuk mengambil context app
- LinearLayoutManager.HORIZONTAL: untuk menetukan orientasi menjadi horizontal
- false : parameter untuk menentukan apakah data perlu dibalik(reverse) atau tidak
setelah dijalankan akan menjadi seperti ini
jika diperhatikan mungkin kalian akan menganggap ini error karena data hanya tampil satu, namun sebenarnya ketika discrool kekiri akan nampak data selanjutnya, hal ini terjadi karena dari layout item hero, masih belum dirubah, layout parentnya masih match_parent dimana akan mengikuti besaran layar device, maka dari itu layout item hero dirubah menjadi seperti ini :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="8dp">
<ImageView
android:id="@+id/imgHeroes"
android:layout_width="80dp"
android:layout_height="80dp"
android:scaleType="centerCrop"/>
<TextView
android:id="@+id/txtHeroName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
/>
</LinearLayout>
lalu bagaimana jika bentuknya ingin grid, bukan menyamping horizontal seperti itu, caranya yaitu menggunakan GridlayoutManager
rvMain.apply {
layoutManager = GridLayoutManager(this@MainActivity, 3)
adapter = heroesAdapter
}
Gridlayout ini memiliki dua paramater
- parameter pertama untuk context
- parameter kedua untuk menentukan berapa banyak kolom
hasil akhir ketika dijalankan akan menjadi seperti ini
cukup mudah bukan ? semoga bermanfaat buat kalian semua.
Leave a Comment