Fragmenty

Fragment Fragment reprezentuje część UI twojej aplikacji, którą można wykorzystać. Fragment definiuje i zarządza swoim własnym układem, ma swój własny cykl życia i może obsługiwać własne zdarzenia wejściowe. Fragmenty nie mogą żyć samodzielnie – muszą być hostowane przez aktywność lub inny fragment. Hierarchia widoku fragmentu staje się częścią lub dołącza do hierarchii widoku hosta.

Modularność

Fragmenty wprowadzają modularność i możliwość ponownego użycia do interfejsu użytkownika, pozwalając na podzielenie interfejsu użytkownika na dyskretne fragmenty. Aktywności są idealnym miejscem do umieszczania globalnych elementów interfejsu użytkownika aplikacji, takich jak szuflada nawigacyjna. Z kolei fragmenty lepiej nadają się do definiowania i zarządzania UI pojedynczego ekranu lub jego części.

Pomyśl o aplikacji, która reaguje na różne rozmiary ekranu. Na większych ekranach, aplikacja powinna wyświetlać statyczną szufladę nawigacyjną i listę w układzie siatki. Na mniejszych ekranach, aplikacja powinna wyświetlać dolny pasek nawigacyjny i listę w układzie liniowym. Zarządzanie wszystkimi tymi wariantami aktywności może być nieporęczne. Oddzielenie elementów nawigacyjnych od treści może sprawić, że proces ten będzie łatwiejszy do opanowania. Aktywność jest wtedy odpowiedzialna za wyświetlanie poprawnej nawigacji UI, podczas gdy fragment wyświetla listę w odpowiednim układzie.

Rysunek 1. Dwie wersje tego samego ekranu na różnych rozmiarach ekranu. Po lewej, duży ekran zawiera szufladę nawigacyjną, która jest kontrolowana przez aktywność oraz listę siatki, która jest kontrolowana przez fragment. Po prawej stronie, mały ekran zawiera dolny pasek nawigacyjny, który jest kontrolowany przez aktywność oraz listę liniową, która jest kontrolowana przez fragment.

Podzielenie interfejsu użytkownika na fragmenty ułatwia modyfikowanie wyglądu aktywności podczas uruchamiania. Gdy aktywność jest w stanie STARTEDlifecycle lub wyższym, fragmenty mogą być dodawane, zastępowane lub usuwane. Można zachować zapis tych zmian w stosie, który jest zarządzany przez aktywność, co pozwala na odwrócenie zmian.

Można używać wielu instancji tej samej klasy fragmentów w ramach tej samej aktywności, w wielu aktywnościach, a nawet jako dziecko innego fragmentu. Mając to na uwadze, powinieneś dostarczyć fragmentowi tylko logikę niezbędną do zarządzania jego własnym UI. Należy unikać uzależniania fragmentów od innych fragmentów lub manipulowania nimi.

Więcej dokumentacji i zasobów związanych z fragmentami można znaleźć w następujących miejscach.

Rozpoczęcie

  • Utwórz fragment

Dalsze tematy

  • Menedżer fragmentów
  • Transakcje fragmentów
  • Animowane przejścia między fragmentami
  • Cykl życia fragmentu
  • Zapisywanie stanu za pomocą fragmentów
  • Menedżer fragmentów
  • Transakcje fragmentów
  • Animowane przejścia między fragmentami
  • Kolejność życia fragmentów
  • Zapisywanie stan za pomocą fragmentów
  • Komunikacja między fragmentami i aktywnościami
  • Praca z paskiem aplikacji
  • Wyświetlanie okien dialogowych za pomocą DialogFragment
  • Testuj swoje fragmenty

Wideo

  • Single Activity: Why, When, and How (Android Dev Summit ’18)
  • Fragmenty: Przeszłość, teraźniejszość i przyszłość (Android Dev Summit ’19)

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *