Principes de base de la mise en page

Une mise en page définit la structure visuelle permettant à un utilisateur d'interagir avec votre application, par exemple dans une activité. Android propose une gamme de bibliothèques, de points de départ canoniques et de techniques pour afficher et positionner du contenu.

Points à retenir

  • Respectez les zones sécurisées de l'appareil, qui incluent des parties de l'interface utilisateur telles que les encoches d'affichage, les encarts bord à bord, les écrans de bord, les claviers logiciels et les barres système.

  • À faire:fournissez une mise en page flexible pour que les utilisateurs puissent interagir avec le clavier.

    Vidéo 1: Fournir une mise en page flexible pour permettre aux utilisateurs d'interagir
  • Maintenez les interactions essentielles, comme la navigation principale, dans une zone d'écran accessible.

    Figure 1:Les boutons d'action flottants (FAB) fournissent un point d'interaction proéminent et accessible
  • Utilisez la structuration pour regrouper des contenus associés afin de guider l'utilisateur dans le contenu et les actions.

    Figure 2:Cartes utilisant la structuration explicite pour regrouper le contenu avec des actions associées
  • Assurez-vous que les contenus et les éléments d'interface utilisateur similaires sont alignés de manière cohérente.

    À ne pas faire:ne perturbez pas la lisibilité en espaçant de manière incohérente des éléments similaires, ce qui peut donner l'impression que les conceptions sont désordonnées.

    À faire:établissez un espacement cohérent entre les éléments similaires.

    Figure 3:Ne pas perturber la lisibilité
  • Ne vous limitez pas au mode portrait ni à une mise en page idéalisée: tenez compte des différents formats, classes de taille et résolutions que les utilisateurs peuvent rencontrer.

  • Ne submergez pas l'utilisateur avec un trop grand nombre d'actions par vue.

  • Lorsque vous créez des mises en page personnalisées, indiquez comment le contenu doit se trouver dans la mise en page à l'aide d'alignement, de contraintes ou de termes de gravité. Indiquez comment les images doivent répondre à leur conteneur pour s'afficher correctement.

Composantes d'un écran d'application Android standard

La plupart des applications Android se composent de zones que l'on appelle les barres système, la zone de navigation et le corps.

Figure 4:Composants d'une application Android: barres système (1), zone de navigation (2) et corps (3)

Barres système

La barre d'état et la barre de navigation (appelées collectivement barres système) affichent des informations importantes telles que le niveau de la batterie, l'heure et les alertes de notification, et permettent d'interagir directement avec l'appareil où que vous soyez. En savoir plus sur les barres système

Figure 5:Barres système (1)

La zone de navigation représente les différentes affordances qui permettent à l'utilisateur de naviguer dans l'application et sur la plate-forme Android, mais aussi d'accéder aux actions importantes.

Figure 6:Zone de navigation (2)

Région du corps

La région du corps contient le contenu de l'écran. Il se compose de regroupements et de paramètres de mise en page supplémentaires. Il doit se trouver sous la zone de navigation et la barre système.

Déclarez WindowCompat.setDecorFitsSystemWindows(window, false) pour les encarts de bord à bord.

Figure 7:Région du corps

Pour déterminer les modèles de composition et de navigation appropriés pour votre mise en page, essayez de comprendre comment les utilisateurs interagissent avec votre contenu et comment ils naviguent dans l'architecture de l'information de votre application. Cette compréhension peut guider votre conception vers une approche plus centrée sur l'utilisateur en créant une interface utilisateur sur laquelle les utilisateurs peuvent agir.

Composition et structure du contenu

Créez un flux et un rythme flexibles grâce à des méthodes de structuration et de structuration de votre contenu.

Structure de base: utilisez des marges et des colonnes pour les garde-corps visuels

Pour commencer à créer une structure solide avec des garde-corps cohérents, ajoutez des marges et des colonnes à vos mises en page.

Les marges permettent d'espacer les bords gauche et droit de l'écran et du contenu. La valeur de marge standard pour la taille compacte est de 16 dp, mais les marges doivent s'adapter pour s'adapter aux écrans plus grands. Le contenu et les actions du corps de votre application doivent respecter ces marges et s'y aligner.

Vous pouvez également vérifier les zones de sécurité ou les encarts intégrés à cette étape. Les encarts de la barre système empêchent les actions cruciales de se trouver sous les barres système. Pour en savoir plus, consultez Dessiner votre contenu derrière les barres système.

Figure 8:Marges (1) et encart de la barre système (2)

Utilisez des colonnes pour créer une structure de grille flexible pour un alignement cohérent et pour définir verticalement une mise en page en divisant le contenu dans la zone du corps. Le contenu est placé dans les zones de l'écran contenant des colonnes. Ces colonnes structurent votre mise en page et vous permettent de disposer facilement les éléments.

Figure 9:Les écrans mobiles sont souvent divisés en quatre colonnes

Utilisez une grille de colonnes pour aligner le contenu sur une grille sous-jacente, tout en conservant une mise à l'échelle flexible. La grille de colonnes peut s'adapter à différents facteurs de forme en modifiant les tailles et le nombre de colonnes en fonction de la taille de l'écran à certains moments, tout en permettant au contenu de s'adapter. Évitez d'être trop précis avec la grille de colonnes. C'est à cela que sert la grille de référence : fournir des unités d'espacement cohérentes.

Veillez à ne pas établir de grille de lignes associée, car elle peut limiter le scaling horizontal du contenu selon les orientations et les facteurs de forme. En règle générale, l'établissement de règles de marge intérieure fournit la cohérence visuelle requise.

Vidéo 2:Commencer à ajouter du texte à la structure de mise en page Les marges protègent le contenu des bords de l'écran. Les colonnes fournissent une structure d'espacement et d'alignement cohérente.

Utiliser la structuration pour regrouper visuellement des éléments

La structuration consiste à utiliser des espaces négatifs et des éléments visibles pour créer un regroupement visuel. Un conteneur est une forme qui représente une zone fermée. Dans une même mise en page, vous pouvez regrouper des éléments qui partagent un contenu ou une fonctionnalité similaires, et les séparer des autres éléments à l'aide d'espaces ouverts, de typographie et de séparateurs.

Vous pouvez regrouper des éléments similaires avec des espaces négatifs ou des divisions visibles pour accompagner l'utilisateur tout au long du contenu.

Figure 10:Division du contenu en deux grands groupes d'en-tête et de texte principal

La structuration implicite utilise des espaces négatifs pour grouper visuellement du contenu et créer des limites de conteneur. La structuration explicite, quant à elle, utilise des objets comme des lignes et des cartes de séparation pour grouper le contenu.

La figure suivante montre un exemple d'utilisation de la structuration implicite pour contenir l'en-tête et la copie principale. La grille de colonnes permet d'aligner et de créer des regroupements. Les faits saillants sont explicitement inclus dans les fiches. Utilisation de l'iconographie et de la hiérarchie des types pour une meilleure séparation visuelle.

Figure 11:Exemple de structuration implicite

Positionnement du contenu

Android propose plusieurs façons de gérer les éléments de contenu dans leurs conteneurs respectifs, ce qui peut aider à les positionner correctement, y compris la gravité, l'espacement et la mise à l'échelle.

Figure 12:Exemple de mise en page montrant les limites de structuration et la position des éléments

Gravity est une norme qui permet de placer un objet dans un conteneur potentiellement plus grand pour des cas d'utilisation spécifiques. La figure suivante montre des exemples de positionnement des objets au début et au centre (1), en haut et au centre horizontalement (2), en bas à gauche (3) et à la fin et à droite (1).

Figure 13:Gravité de positionnement du contenu enfant et des vues parent

Mettre à l'échelle

Le scaling est essentiel pour s'adapter au contenu dynamique, à l'orientation de l'appareil et aux tailles d'écran. Les éléments peuvent rester fixes ou être mis à l'échelle.

Il est important de noter comment les images sont affichées dans leurs conteneurs avec la mise à l'échelle et la position pour vous assurer qu'elles apparaissent comme vous le souhaitez, quel que soit le contexte de l'appareil. Sinon, l'élément principal de l'image pourrait sembler tronqué, les images pourraient être trop petites ou trop grandes pour la mise en page, ou d'autres effets indésirables pourraient se produire.

Figure 14:image recadrée au centre, ce qui garantit que la plante est centrée dans le conteneur, quelle que soit la taille de l'appareil

Les contenus non notés peuvent s'afficher différemment de ce que vous attendez ou souhaitez.

Figure 15:les contenus non notés peuvent apparaître de manière inattendue

Contenu épinglé

De nombreux éléments intègrent des interactions, un défilement et un positionnement avec des emplacements ou des échafaudages. Certains éléments peuvent être modifiés pour rester fixes au lieu de réagir au défilement, par exemple les boutons d'action flottants (FAB) qui hébergent des actions critiques.

Emplacement D

Utilisez AlignmentLine pour créer des lignes d'alignement personnalisées que les mises en page parentes peuvent utiliser pour aligner et positionner leurs enfants.

Figure 16:Ne perturbez pas la lisibilité

À ne pas faire:ne perturbez pas la lisibilité en espaçant de manière incohérente des éléments similaires, ce qui peut donner l'impression que les conceptions sont désordonnées.

À faire:établissez un espacement cohérent entre les éléments similaires.

Mise en page des composants

Les composants Material 3 fournissent leurs propres configurations et états pour l'interaction et le contenu.

Compose propose des mises en page pratiques pour combiner des composants Material et des modèles d'écran courants. Des composables tels que Scaffold fournissent des emplacements pour divers composants et autres éléments d'écran. En savoir plus sur les composants et la mise en page Material

Mises en page et modèles de navigation

Si votre application contient plusieurs destinations que les utilisateurs peuvent parcourir, nous vous recommandons d'utiliser des associations de mise en page et de navigation couramment utilisées par d'autres applications. Étant donné que de nombreux utilisateurs possèdent déjà les modèles mentaux de ces associations, votre application sera plus intuitive pour eux.

Associations de mise en page et de navigation

La barre de navigation et le panneau de navigation modal sont utilisés comme modèles de navigation principaux pour les vues de mise en page parente et les destinations de navigation principales.

La barre de navigation peut contenir trois à cinq destinations de navigation au même niveau hiérarchique. Ce composant se traduit par le rail de navigation pour les grands écrans.

Bien que le panneau de navigation puisse contenir plus de cinq destinations de navigation, le modèle n'est pas aussi idéal que la barre de navigation, car il faut atteindre la barre supérieure sur les tailles compactes.

Figure 17:Destinations de navigation principales dans une barre de navigation

Les onglets Material 3 et la barre d'application inférieure sont des modèles de navigation secondaires que vous pouvez utiliser pour compléter la navigation principale ou pour apparaître dans les vues enfants.

Figure 18:Les onglets servent de couche de navigation secondaire pour regrouper les contenus frères (secondaires)

Actions de mise en page

Fournissez des commandes permettant aux utilisateurs d'effectuer des actions. Les modèles courants incluent les actions de la barre supérieure, le bouton d'action flottant (FAB) et les menus.

Pour les actions les plus importantes, un bouton d'action flottant fournit un bouton grand et proéminent à l'utilisateur. Ne fournissez qu'une seule action à la fois à ce niveau. Un bouton d'action flottant peut apparaître dans plusieurs tailles et sous une forme développée, qui comprend un libellé. Utilisez Scaffold pour épingler un bouton d'action flottant, en vous assurant qu'il est toujours visible, même lorsque vous faites défiler l'écran.

Figure 19:Bouton d'action flottant (FAB) permettant à l'utilisateur d'ajouter rapidement des plantes à la galerie de plantes

Vous pouvez placer les actions secondaires dans la barre supérieure ou, si elles sont regroupées à proximité de contenus associés, sur la page.

Figure 20:Action d'alerte dans la barre supérieure pour afficher les détails (à gauche) et icône de dépassement dans la ligne de l'élément de liste (à droite)

Pour toutes les actions supplémentaires qui ne sont pas nécessaires rapidement ou fréquemment, ajoutez-les dans un menu à développer.

Mises en page canoniques

Utilisez les mises en page canoniques comme point de départ. Il s'agit de compositions prêtes à l'emploi qui aident les mises en page à s'adapter aux cas d'utilisation et aux tailles d'écran courants. Ces mises en page sont à la fois esthétiques et fonctionnelles, et dérivées des consignes Material 3.

Figure 21:Mises en page standards

Le framework Android inclut des composants spécialisés qui permettent d'implémenter ces mises en page de manière simple et fiable, à l'aide des API Jetpack Compose ou Views.

Mise en page Liste/Détails

Une mise en page Liste/Détail permet aux utilisateurs d'explorer des listes d'éléments avec des informations descriptives, explicatives ou complémentaires sur ces derniers sous forme de vue détaillée. Pour les tailles d'écran compactes, seule la vue Liste ou Détail est visible. Les listes, qui affichent une collection de contenus dans une mise en page basée sur des lignes, constituent la forme de mise en page la plus courante pour les applications. La mise en page "Liste et vue détaillée" est idéale pour les applications de messagerie, les gestionnaires de contacts, les explorateurs de fichiers et toute application dont le contenu peut être organisé sous la forme d'une liste d'éléments et d'une vue détaillée avec des informations supplémentaires.

Le contenu peut être statique ou dynamique.

  • Le contenu dynamique est un contenu que votre application diffuse instantanément. Il est idéal pour afficher du contenu généré par l'utilisateur ou pour refléter les préférences ou les actions de l'utilisateur. Par exemple, imaginez une application photo avec une liste déroulante de photos générées par l'utilisateur, qui est unique pour chaque utilisateur et qui change à mesure que l'utilisateur importe d'autres images. Ces images sont du contenu dynamique.
  • Le contenu statique représente du contenu codé en dur, qui ne peut être modifié qu'en apportant des modifications directement au code de votre application. Les images et le texte que tous les utilisateurs peuvent voir sont des exemples de contenu statique.

Le fichier Figma Now in Android fournit plusieurs exemples de mise en page. L'exemple suivant montre une collection de contenus unidimensionnelle.

Figure 22:Collection unidimensionnelle de contenus

Consultez Listes Material 3 pour obtenir des conseils de conception sur les composants et les spécifications des listes.

Mise en page du flux

Figure 23:Une galerie de photos dans une mise en page en grille est un format de flux courant

Une mise en page de type "Flux" organise des éléments de contenu équivalents dans une grille configurable afin d'afficher rapidement et facilement une grande quantité de contenu. (Consultez les consignes Material 3 pour l'utilisation des fiches dans une collection.) Les flux peuvent être configurés en liste ou en grille sur des écrans compacts, généralement sous forme de cartes ou de cartes. Le contenu peut être dynamique, ce qui signifie qu'il est "alimenté" à partir d'une source externe dynamique telle qu'une API.

Une mise en page en grille se compose à la fois de lignes et de colonnes, qui sont constituées de principes de structuration implicites ou explicites. (Pour en savoir plus, consultez la section confinement de cette page.) Une mise en page en grille peut être appliquée de manière plus rigide ou décalée pour varier les lignes et les colonnes. Les deux doivent appliquer une mise en page et une logique cohérentes pour éviter de créer de la confusion chez les utilisateurs. Consultez les consignes Material 3 concernant la conception de flux.

Vous pouvez implémenter une mise en page de flux dans Compose avec des listes ou des grilles lazy, ou dans les vues avec RecyclerView ou CardView.

Mise en page avec volet secondaire

Une vue mobile peut nécessiter du contenu ou des commandes supplémentaires. Généralement sous la forme de feuilles ou de boîtes de dialogue, ils peuvent aider à ce que la vue principale reste claire et épurée. Consultez les conseils M3 pour utiliser la mise en page canonique du volet secondaire.

Figure 24:Les bottom sheets peuvent servir de contenu complémentaire à la vue principale

Découvrez les consignes M3 concernant les bottom sheets.

Mises en page relatives

Les entrées, le contenu ou d'autres actions peuvent apparaître par rapport à l'autre ou être limités à un conteneur parent. Les mises en page peuvent être plus personnalisées, mais veillez à respecter un regroupement, des colonnes et un espacement cohérents.

Les mises en page peuvent également utiliser une combinaison de types de mise en page. Par exemple, vous pouvez associer un carrousel ou un défilement horizontal à des cartes verticales. Vous pouvez également présenter un graphique personnalisé avec des données de liste verticale.

Vous pouvez présenter du contenu dans des lignes ou des colonnes à défilement avec des lignes et des colonnes différées.

Découvrez les principes de base de la mise en page Compose et les éléments qui composent un composable.

Figure 25:Les mises en page peuvent combiner des regroupements, des listes et des grilles

L'authentification est une mise en page relative courante, comme illustré dans la figure suivante.

Figure 26:Authentification en tant que mise en page courante

La mise en page plein écran est une autre mise en page courante, utilisée en mode immersif.

Figure 27:Mise en page en plein écran, comme utilisée en mode immersif

Si vous travaillez avec des vues plutôt qu'avec Compose, vous pouvez utiliser ConstraintLayout pour mettre en page les vues en fonction des relations entre les vues sœurs et la mise en page parente, ce qui permet de créer des mises en page volumineuses et complexes. ConstraintLayout vous permet de créer entièrement par glisser-déposer au lieu de modifier le code XML à l'aide de l'éditeur de mise en page. Découvrez comment créer une UI avec l'éditeur de mise en page.

Adapter les mises en page

La conception adaptative consiste à concevoir des mises en page qui s'adaptent à des points d'arrêt et appareils spécifiques. Nous considérons généralement que la largeur de l'appareil détermine où la mise en page doit changer ou s'adapter. Le Web et Android utilisent des concepts de conception responsive, comme les grilles et les images flexibles, pour créer des mises en page qui répondent mieux à leur contexte.

INSÉRER LE TEXTE ALTERNATIVE ICI

Pour obtenir des consignes de conception sur l'adaptation des mises en page aux tailles d'écran agrandies, consultez le guide du développeur Assurer la compatibilité avec différentes tailles d'écran dans Compose et la page M3 Appliquer une mise en page. Vous pouvez également consulter la galerie Android standards sur grand écran pour trouver l'inspiration et implémenter des mises en page pour les grands écrans.

Si l'adaptation à toutes les tailles d'écran n'est pas nécessaire pour toutes les applis, elle offre malgré tout une plus grande liberté pour vos utilisateurs et améliore donc leur expérience du point de vue de l'ergonomie, de la facilité d'utilisation et de la qualité.

  • Vous pouvez concevoir des écrans clés (communiquant les concepts essentiels de votre application) avec des tailles de classe comme points de rupture pour servir de guides.
  • Vous pouvez également concevoir le contenu pour qu'il réagisse de manière responsive en indiquant comment il doit être contraint, développé ou réorganisé.

Pour en savoir plus sur les mises en page, consultez la page Material Design 3 (M3) Understanding layout (Comprendre la mise en page).

WebViews

Une WebView est une vue qui affiche des pages Web dans l'application. Dans la plupart des cas, nous vous recommandons d'utiliser un navigateur Web standard, comme Chrome, pour diffuser du contenu auprès de l'utilisateur. Pour en savoir plus sur les navigateurs Web, consultez le guide sur l'appel d'un navigateur avec un intent.