Muszę wdrożyć poziomy widok listy w mojej aplikacji na Androida. Przeprowadziłem trochę badań i natknąłem się na to Jak mogę zrobić poziomy ListView w Androidzie? i widok poziomy ListView w Androidzie? jednak pytania te zostały zadane przed wydaniem Recyclerview. Czy istnieje lepszy sposób na wdrożenie tego teraz za pomocą Recyclerview?
android
android-layout
android-recyclerview
Andre Perkins
źródło
źródło
LinearLayoutManager
z orientacją ustawioną naHORIZONTAL
.Odpowiedzi:
Tak.
Kiedy używasz a
RecyclerView
, musisz określić,LayoutManager
który jest odpowiedzialny za ułożenie każdego elementu w widoku.LinearLayoutManager
Pozwala określić orientację, podobnie jak normalnyLinearLayout
będzie.Aby utworzyć listę poziomą
RecyclerView
, możesz zrobić coś takiego:źródło
RelativeLayout
nie ma pojęcia pozioma kontra pionowa, więc tak naprawdę nie rozumiem pytania.źródło
app:layoutManager="android.support.v7.widget.LinearLayoutManager"
nie będzie działać w kompilacji wersji. Napotkałem ten problem Kompilacja wydania.Kompletny przykład
Jedyną prawdziwą różnicą między pionową
RecyclerView
a poziomą jest sposób konfiguracjiLinearLayoutManager
. Oto fragment kodu. Pełny przykład znajduje się poniżej.Ten pełniejszy przykład jest wzorowany na mojej
RecyclerView
odpowiedzi pionowej .Zaktualizuj zależności Gradle
Upewnij się, że w Twojej aplikacji występują następujące zależności
gradle.build
pliku :Możesz zaktualizować numery wersji na cokolwiek jest najnowszej .
Utwórz układ aktywności
Dodaj
RecyclerView
do swojego układu xml.Activity_main.xml
Utwórz układ elementu
Każdy przedmiot w naszym
RecyclerView
będzie miał pojedynczy kolorView
nadTextView
. Utwórz nowy plik zasobów układu.recyclerview_item.xml
Utwórz adapter
RecyclerView
Wymaga adaptera do wypełnienia widoki w każdym rzędzie (pozycja pozioma) z danymi. Utwórz nowy plik Java.MyRecyclerViewAdapter.java
Notatki
ListViews
i jest powszechną potrzebą. Możesz usunąć ten kod, jeśli go nie potrzebujesz.Zainicjuj RecyclerView w działaniu
Dodaj następujący kod do swojej głównej działalności.
MainActivity.java
Notatki
ItemClickListener
, co zdefiniowaliśmy w naszym adapterze. To pozwala nam obsługiwać zdarzenia kliknięcia elementu wonItemClick
.Skończone
Otóż to. Powinieneś być teraz w stanie uruchomić swój projekt i uzyskać coś podobnego do obrazu na górze.
Notatki
źródło
Jeśli chcesz używać
RecyclerView
zGridLayoutManager
, jest to sposób na uzyskanie przewijania w poziomie.źródło
Próba zbudowania poziomego ListView zajmuje zbyt dużo czasu. Rozwiązałem to na dwa sposoby.
1.Za pomocą ViewPager, którego adapter wystaje z PagerAdapter.
2.Za pomocą RecyclerView tak jak powyżej. Musisz zastosować LayoutManager jak w następującym kodzie:
źródło
Jeśli chcesz używać Widoku Recyklera Poziomego do działania jako ViewPager, jest to teraz możliwe dzięki pomocy
LinearSnapHelper
dodanej w Bibliotece pomocy w wersji 24.2.0.Najpierw dodaj RecyclerView do swojej aktywności / fragmentu
W moim przypadku użyłem
CardView
wnętrzaRecyclerView
blog_row.xml
W twojej aktywności / fragmencie
Ostatnim krokiem jest ustawienie adaptera na RecyclerView
źródło
Wraz z wydaniem biblioteki RecyclerView możesz teraz łatwo wyrównać listę zdjęć powiązanych z tekstem. Możesz użyć LinearLayoutManager, aby określić kierunek, w którym chcesz ustawić swoją listę, pionową lub poziomą, jak pokazano poniżej.
Możesz pobrać w pełni działającą wersję demo z tego postu
źródło
źródło
Istnieje podklasa RecyclerView o nazwie HorizontalGridView, której można użyć do uzyskania kierunku poziomego. VerticalGridView dla kierunku pionowego
źródło
źródło
Recycler View in Dynamic Dynamic.
Recycler View Implementation
Klasa adaptera do widoku recyklera, w której znajduje się uchwyt widoku do trzymania widoku tego recyklera
źródło
źródło
Spróbuj tego:
tylko w przypadku, gdy masz widok recyklera z kilkoma fragmentami.
źródło