Un Fragment
représente une partie réutilisable de l'UI de votre application. Un fragment définit et gère sa propre mise en page, a son propre cycle de vie et peut gérer ses propres événements d'entrée. Ils ne peuvent pas être autonomes : ils doivent être hébergés par une activité ou un autre fragment. La hiérarchie des vues du fragment fait partie de la hiérarchie des vues de l'hôte. On dit aussi qu'elle s'y associe.
Modularité
Les fragments, qui vous permettent de diviser l'interface utilisateur de votre activité en éléments distincts, assurent la modularité et la réutilisation. Les activités sont le réceptacle idéal des éléments globaux liés à l'interface utilisateur de votre application, tels qu'un panneau de navigation. À l'inverse, les fragments conviennent davantage à la définition et à la gestion de l'interface utilisateur d'un seul écran ou d'une partie de l'écran.
Prenons l'exemple d'une application qui réagit à différentes tailles d'écran. Sur les grands écrans, elle doit afficher un panneau de navigation statique et une liste en mode Grille. Sur les petits écrans, elle doit afficher une barre de navigation inférieure et une liste linéaire. La gestion de toutes ces variantes d'activité peut se révéler difficile. Toutefois, la séparation des éléments de navigation du contenu facilite ce processus. L'activité se charge ensuite d'afficher l'UI de navigation appropriée, tandis que le fragment affiche la liste avec la mise en page adéquate.

La division de l'UI en fragments facilite la modification de l'apparence de votre activité au moment de l'exécution. Lorsque votre activité est à l'état de cycle de vie STARTED
ou à un niveau supérieur, des fragments peuvent être ajoutés, remplacés ou supprimés. Vous pouvez conserver un enregistrement de ces modifications dans une pile "Retour" gérée par l'activité, ce qui permettra d'annuler ces modifications.
Vous pouvez utiliser plusieurs instances de la même classe de fragment dans la même activité, dans plusieurs activités ou même en tant qu'enfant d'un autre fragment. Toutefois, vous ne devez fournir un fragment qu'avec la logique nécessaire pour gérer sa propre UI. Évitez de dépendre d'un fragment ou de le manipuler pour en créer un autre.
Étapes suivantes
Pour plus de documentation et de ressources sur les fragments, consultez les sections suivantes.
Premiers pas
Autres sujets
- Gestionnaire de fragments
- Transactions de fragment
- Animer des transitions entre fragments
- Cycle de vie des fragments
- Enregistrer l'état avec des fragments
- Communiquer entre les fragments et les activités
- Utiliser la barre d'application
- Afficher les boîtes de dialogue avec DialogFragment
- Déboguer vos fragments
- Tester vos fragments
Exemples
Vidéos
- Activité unique : pourquoi, quand et comment (Sommet des développeurs Android 2018)
- Fragments : passé, présent et futur (Sommet des développeurs Android 2019)