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. Les fragments 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, vous souhaiterez peut-être qu'elle affiche un panneau de navigation statique et une liste sous forme de grille. Sur les écrans de petite taille, vous préférerez peut-être qu'elle affiche une barre de navigation inférieure et une liste linéaire.
Il est difficile de gérer ces variantes dans l'activité. 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.
![Deux versions du même écran sur différentes tailles d'écran.](https://developer.android.com/static/images/guide/fragments/fragment-screen-sizes.png?authuser=8&hl=fr)
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 également conserver un enregistrement de ces modifications dans une pile "Retour" gérée par l'activité, de sorte que les modifications puissent être annulées.
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, ne fournissez un fragment qu'avec la logique nécessaire pour gérer sa propre interface utilisateur. É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
- Parcourir les fragments à l'aide d'animations
- Cycle de vie des fragments
- Enregistrer l'état avec des fragments
- Communiquer avec des fragments
- 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)