Fragmente

Ein Fragment stellt einen verwendbaren Teil der Benutzeroberfläche Ihrer App dar. Ein Fragment definiert und verwaltet sein eigenes Layout, hat seinen eigenen Lebenszyklus und kann seine eigenen Eingabeereignisse verarbeiten. Fragmente können nicht für sich alleine stehen – sie müssen von einer Aktivität oder einem anderen Fragment gehostet werden.

Modularität

Fragmente führen Modularität und Wiederverwendbarkeit in die Benutzeroberfläche Ihrer Aktivität ein, indem sie es Ihnen ermöglichen, die Benutzeroberfläche in diskrete Teile zu unterteilen. Activities sind ein idealer Ort, um globale Elemente in der Benutzeroberfläche Ihrer App zu platzieren, wie z. B. einen Navigationsschubladen. Umgekehrt sind Fragmente besser geeignet, um die UI eines einzelnen Bildschirms oder eines Teils eines Bildschirms zu definieren und zu verwalten.

Betrachten Sie eine App, die auf verschiedene Bildschirmgrößen reagiert. Auf größeren Bildschirmen sollte die App eine statische Navigationsschublade und eine Liste in einem Grid-Layout anzeigen. Auf kleineren Bildschirmen sollte die App eine untere Navigationsleiste und eine Liste in einem linearen Layout anzeigen. Die Verwaltung all dieser Variationen in der Aktivität kann unübersichtlich sein. Die Trennung der Navigationselemente vom Inhalt kann diesen Prozess überschaubarer machen. Die Aktivität ist dann für die Anzeige der korrekten Navigationsoberfläche verantwortlich, während das Fragment die Liste mit dem richtigen Layout anzeigt.

Abbildung 1. Zwei Versionen desselben Bildschirms auf verschiedenen Bildschirmgrößen. Auf der linken Seite enthält ein großer Bildschirm eine Navigationsschublade, die durch die Aktivität gesteuert wird, und eine Gitterliste, die durch das Fragment gesteuert wird. Auf der rechten Seite enthält ein kleiner Bildschirm eine untere Navigationsleiste, die von der Aktivität gesteuert wird, und eine lineare Liste, die vom Fragment gesteuert wird.

Die Aufteilung Ihrer Benutzeroberfläche in Fragmente macht es einfacher, das Erscheinungsbild Ihrer Aktivität zur Laufzeit zu ändern. Während sich Ihre Aktivität im STARTEDLebenszykluszustand oder höher befindet, können Fragmente hinzugefügt, ersetzt oder entfernt werden. Sie können diese Änderungen in einem Backstack speichern, der von der Aktivität verwaltet wird, so dass die Änderungen rückgängig gemacht werden können.

Sie können mehrere Instanzen der gleichen Fragmentklasse innerhalb derselben Aktivität, in mehreren Aktivitäten oder sogar als Kind eines anderen Fragments verwenden. In diesem Sinne sollten Sie ein Fragment nur mit der Logik ausstatten, die zur Verwaltung seiner eigenen Benutzeroberfläche notwendig ist. Sie sollten es vermeiden, ein Fragment von einem anderen abhängig zu machen oder zu manipulieren.

Weitere Dokumentation und Ressourcen zu Fragmenten finden Sie im Folgenden.

Einstieg

  • Erstellen eines Fragments

Weitere Themen

  • Fragmentmanager
  • Fragmenttransaktionen
  • Animierte Übergänge zwischen Fragmenten
  • Fragmentlebenszyklus
  • Speichern Zustand mit Fragmenten
  • Kommunikation zwischen Fragmenten und Aktivitäten
  • Arbeiten mit der App-Leiste
  • Darstellen von Dialogen mit DialogFragment
  • Testen Sie Ihre Fragmente

Videos

  • Single Activity: Why, When, and How (Android Dev Summit ’18)
  • Fragmente: Vergangenheit, Gegenwart und Zukunft (Android Dev Summit ’19)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.