Saya perlu menerapkan tampilan daftar horizontal dalam aplikasi Android saya. Saya melakukan sedikit riset dan menemukan Bagaimana saya bisa membuat ListView horizontal di Android? dan Horizontal ListView di Android? Namun, pertanyaan-pertanyaan ini diajukan sebelum Recyclerview dirilis. Apakah ada cara yang lebih baik untuk mengimplementasikan ini sekarang dengan Recyclerview?
android
android-layout
android-recyclerview
Andre Perkins
sumber
sumber
LinearLayoutManager
dengan orientasi yang diatur keHORIZONTAL
.Jawaban:
Iya.
Saat Anda menggunakan
RecyclerView
, Anda harus menentukanLayoutManager
yang bertanggung jawab untuk meletakkan setiap item dalam tampilan. TheLinearLayoutManager
memungkinkan Anda untuk menentukan orientasi, seperti biasaLinearLayout
akan.Untuk membuat daftar horizontal
RecyclerView
, Anda dapat melakukan sesuatu seperti ini:sumber
RelativeLayout
tidak memiliki konsep horizontal vs vertikal, jadi saya tidak begitu mengerti pertanyaannya.sumber
app:layoutManager="android.support.v7.widget.LinearLayoutManager"
tidak akan berfungsi untuk rilis build. Saya telah menghadapi masalah ini Rilis build.Contoh lengkap
Satu-satunya perbedaan nyata antara vertikal
RecyclerView
dan horizontal adalah bagaimana Anda mengaturLinearLayoutManager
. Berikut ini cuplikan kode. Contoh lengkapnya di bawah ini.Contoh yang lebih lengkap ini dimodelkan setelah jawaban vertikal saya
RecyclerView
.Perbarui dependensi Gradle
Pastikan dependensi berikut ada di
gradle.build
file aplikasi Anda :Anda dapat memperbarui nomor versi ke apa pun yang terbaru .
Buat tata letak aktivitas
Tambahkan
RecyclerView
tata letak ke xml Anda.activity_main.xml
Buat tata letak item
Setiap item di kami
RecyclerView
akan memiliki satu warna diView
atasTextView
. Buat file sumber daya tata letak baru.recyclerview_item.xml
Buat adaptor
The
RecyclerView
perlu adaptor untuk mengisi pandangan di setiap baris (item horisontal) dengan data Anda. Buat file java baru.MyRecyclerViewAdapter.java
Catatan
ListViews
dan merupakan kebutuhan bersama. Anda dapat menghapus kode ini jika Anda tidak membutuhkannya.Inisialisasi RecyclerView dalam Aktivitas
Tambahkan kode berikut ke aktivitas utama Anda.
MainActivity.java
Catatan
ItemClickListener
yang kami tetapkan dalam adaptor kami. Ini memungkinkan kami untuk menangani acara klik item dionItemClick
.Jadi
Itu dia. Anda harus dapat menjalankan proyek Anda sekarang dan mendapatkan sesuatu yang mirip dengan gambar di atas.
Catatan
sumber
Jika Anda ingin menggunakan
RecyclerView
denganGridLayoutManager
, ini adalah cara untuk mencapai gulir horizontal.sumber
Mencoba membuat ListView horizontal terlalu banyak waktu. Saya telah menyelesaikannya dengan dua cara.
1. Dengan menggunakan ViewPager yang adaptornya memanjang dari PagerAdapter.
2. Dengan menggunakan RecyclerView seperti di atas. Perlu menerapkan LayoutManager seperti pada kode berikut:
sumber
Jika Anda ingin menggunakan Horizontal Recycler View untuk bertindak sebagai ViewPager maka mungkin sekarang dengan bantuan
LinearSnapHelper
yang ditambahkan di Perpustakaan Dukungan versi 24.2.0.Pertama Tambahkan RecyclerView ke Aktivitas / Fragmen Anda
Dalam kasus saya, saya telah menggunakan
CardView
di dalamRecyclerView
blog_row.xml
Dalam Aktivitas / Fragmen Anda
Langkah terakhir adalah mengatur adaptor ke RecyclerView
sumber
Dengan rilis perpustakaan RecyclerView, sekarang Anda dapat menyelaraskan daftar gambar yang diikat dengan teks dengan mudah. Anda dapat menggunakan LinearLayoutManager untuk menentukan arah di mana Anda ingin mengarahkan daftar Anda, baik vertikal atau horizontal seperti yang ditunjukkan di bawah ini.
Anda dapat mengunduh demo yang berfungsi penuh dari pos ini
sumber
sumber
Ada subkelas RecyclerView bernama HorizontalGridView Anda dapat menggunakannya untuk memiliki arah horisontal. VerticalGridView untuk arah vertikal
sumber
sumber
Tampilan Pendaur Ulang dalam Horizontal Dynamic.
Implementasi Tampilan Pendaur Ulang
Kelas adaptor untuk tampilan pendaur ulang, di mana ada penahan pandangan untuk menahan pandangan pendaur ulang itu
sumber
sumber
Coba ini:
hanya jika Anda punya tampilan pendaur ulang dengan beberapa fragmen di atasnya.
sumber