Fragments

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.
Figure 1. Deux versions du même écran sur différentes tailles d'écran. Sur la gauche, un grand écran contient un panneau de navigation contrôlé par l'activité et une liste sous forme de grille contrôlée par le fragment. Sur la droite, un petit écran contient une barre de navigation inférieure contrôlée par l'activité et une liste linéaire contrôlée par le fragment.

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

Exemples

Vidéos