538
Rozdział 13.
Bardziej wyszukane listy
Wciąż jest wiele do zrobienia w aplikacji Włoskie Co Nieco
To jest obecna postać aktywności
PizzaActivity. Prezentuje ona
listę pizz, lecz wygląda bardzo
prosto i zwyczajnie.
To jest widok
RecyclerView,
który zamierzamy
dodać do fragmentu
PizzaFragment.
Kiedy zaczniemy
przewijać zawartość
widoku RecyclerView,
pasek narzędzi
zostanie przesunięty
w górę. Takie
zachowanie będzie
zgodne ze sposobem
działania fragmentu
TopFragment.
W rozdziale 12. zaktualizowaliśmy aplikację Włoskie Co Nieco, dodając
do niej komponenty z biblioteki wsparcia wzornictwa, takie jak: układ
kart, przycisk FAB oraz zwijany pasek narzędzi. Dodaliśmy je, by ułatwić
użytkownikom poruszanie się po aplikacji i docieranie w wybrane miejsca
oraz by nadać aplikacji spójny wygląd, zgodny z wytycznymi Material
Design. Jak zapewne pamiętasz, Material Design jest wzorowany na
kartkach papieru oraz atramencie i korzysta z zasad projektowania
materiałów drukowanych oraz z przesuwania, by odwzorowywać wygląd
i zachowanie rzeczywistych obiektów (takich jak karty indeksowe
lub kawałki papieru). Jest jednak pewien kluczowy element aplikacji,
który jak na razie pominęliśmy: listy.
Obecnie z widoków list korzystamy we fragmentach
PizzaFragment
,
PastaFragment
oraz
StoresFragment
, aby wyświetlać w nich, odpowiednio,
pizze, dania z makaronów oraz restauracje. W porównaniu z resztą aplikacji
listy te są bardzo proste i przydałoby się trochę nad nimi popracować,
by nadać im podobny wygląd.
Kolejną wadą widoków list jest to, że nie obsługują one zagnieżdżonego
przewijania. W rozdziale 12. zmodyfikowaliśmy pasek narzędzi aktywności
MainActivity
w taki sposób, że jest on przewijany wraz z zawartością
fragmentu wyświetlanego w tej aktywności. Obecnie rozwiązanie to działa
we fragmencie
TopFragment
, a zaimplementowaliśmy je, korzystając
z widoku
NestedScrollView
. Jednak żaden z pozostałych fragmentów nie
używa tego widoku, dlatego też podczas przewijania ich zawartości pasek
narzędzi będzie pozostawał nieruchomy.
Aby rozwiązać te wszystkie problemy, zmodyfikujemy fragment PizzaFragment,
dodając do niego widok
RecyclerView
. Stanowi on bardziej zaawansowaną
i elastyczną wersję widoku listy, implementując przy okazji mechanizmy
przewijania zagnieżdżonego. Zamiast wyświetlać na liście same nazwy
pizz, użyjemy widoku
RecyclerView
, by wyświetlać zarówno te nazwy,
jak i odpowiednie obrazki:
Get Android Programowanie aplikacji. Rusz głową! Wydanie II now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.