Layout Editor : qu'est-ce que c'est, Android Studio et la création de mises en page

Auteur : IT Sectr Publié le : 2026-02-12 Temps de lecture : 10 min

Layout Editor est un éditeur visuel de mises en page XML dans Android Studio qui permet de créer des interfaces d'applications Android sans écrire de code manuellement. Découvrons ce que c'est, comment travailler avec ConstraintLayout et LinearLayout, utiliser la palette de composants et configurer les attributs via le Panneau de Propriétés.

Points essentiels

  • Layout Editor — une interface visuelle pour créer des mises en page XML Android dans Android Studio avec glisser-déposer et aperçu en temps réel
  • ConstraintLayout — la mise en page de base qui crée une hiérarchie plate avec des contraintes flexibles entre les éléments
  • LinearLayout — un conteneur pour l'agencement linéaire des widgets horizontalement ou verticalement avec répartition par poids
  • Blueprint et Design — deux modes d'affichage : un schéma avec contraintes et un aperçu visuel de la mise en page
  • Panneau de Propriétés — un panneau pour configurer tous les attributs du composant sélectionné sans basculer vers XML

Qu'est-ce que Layout Editor ?

Layout Editor est un outil intégré dans Android Studio pour concevoir visuellement les interfaces utilisateur des applications Android. Il s'ouvre en double-cliquant sur un fichier XML de mise en page dans le dossier res/layout/ et est accessible via le panneau inférieur permettant de basculer entre les onglets Code, Design et Division. Le développeur peut faire glisser des composants de la palette vers le canevas, configurer leurs propriétés et observer les changements en temps réel.

L'outil prend en charge deux modes d'affichage : Design (canevas visuel avec rendu réel des widgets) et Blueprint (représentation schématique avec contraintes et bordures). Le mode Divisée montre à la fois le code XML et le canevas visuel simultanément. Le basculement entre eux s'effectue à l'aide des boutons dans le coin supérieur gauche de l'éditeur.

Layout Editor génère automatiquement le code XML pour chaque action de l'utilisateur : ajout d'un élément, configuration des marges, création d'une contrainte. Cela permet au développeur de ne pas mémoriser des dizaines d'attributs XML et de se concentrer sur le résultat visuel. Le code généré peut toujours être édité manuellement dans l'onglet Code.

ModeDescriptionRaccourci
DesignCanevas visuel avec composants réelsShift + D
BlueprintSchéma avec contraintes et borduresShift + B
DiviséeCode XML et canevas simultanémentShift + S

Zones principales de Layout Editor

L'interface de Layout Editor est divisée en quatre zones : Palette (palette de composants), Arbre des Composants (arbre des composants), Surface de Conception (canevas de conception) et Panneau de Propriétés (panneau des propriétés). La Palette contient tous les widgets disponibles du SDK Android regroupés par catégories : Widgets, Texte, Boutons, Conteneurs et autres. L'Arbre des Composants affiche la hiérarchie de la mise en page sous forme d'arbre, permettant de faire glisser des éléments entre les conteneurs.

Surface de Conception est la partie centrale de l'éditeur où la mise en page est affichée. Sur le canevas, vous pouvez sélectionner des éléments, les déplacer, les redimensionner et créer des contraintes. En bas du canevas, un sélecteur de périphérique et d'orientation permet de prévisualiser la mise en page sur différents écrans. Layout Editor prend en charge l'aperçu sur une variété d'appareils virtuels : Nexus, Pixel et Samsung.

Panneau de Propriétés affiche les attributs de l'élément sélectionné : layout_width, layout_height, marges, remplissage, gravité et tous les attributs spécifiques comme textSize pour TextView. Chaque modification dans le Panneau de Propriétés est instantanément répercutée sur le canevas et génère le code XML correspondant.

Dans le coin supérieur gauche de l'éditeur se trouvent les boutons de contrôle : sélection du mode d'affichage, activation de la connexion automatique des contraintes (Autoconnect), affichage des contraintes sous forme de lignes et basculement entre les appareils virtuels. Le bouton "Appareil pour Aperçu" permet de sélectionner un modèle de smartphone, tablette ou Android TV pour vérifier l'adaptabilité.

ConstraintLayout : positionnement flexible

ConstraintLayout est la mise en page principale recommandée par Google pour tous les nouveaux projets Android. Contrairement aux LinearLayout imbriqués, ConstraintLayout crée une hiérarchie plate où chaque élément est lié au parent, à d'autres éléments ou à des lignes directrices. Cela réduit la profondeur d'imbrication et améliore les performances de rendu.

Chaque élément dans ConstraintLayout a des contraintes latérales : app:layout_constraintStart_toStartOf, app:layout_constraintEnd_toEndOf, app:layout_constraintTop_toTopOf, app:layout_constraintBottom_toBottomOf. Les contraintes peuvent être liées au parent ou à l'ID d'un autre élément. Un modèle XML de base ressemble à ceci :

xml



    

Dans cet exemple, le TextView est centré sur les quatre côtés du parent. La taille 0dp (match_constraint) signifie que la largeur s'étend de la contrainte gauche à la contrainte droite. Cette approche permet de créer des mises en page adaptatives sans tailles fixes.

ConstraintLayout prend également en charge le Biais — le décalage du centre d'un élément. Les attributs layout_constraintHorizontal_bias et layout_constraintVertical_bias prennent des valeurs de 0 à 1, où 0,5 est le centre, 0 est au début, 1 est à la fin. Le biais permet de positionner précisément un élément entre deux contraintes.

Fonctionnalités supplémentaires de ConstraintLayout : Guidelines (lignes directrices en pourcentages ou dp), Barrières (barrières qui regroupent plusieurs éléments) et Chaînes (chaînes d'éléments avec répartition de l'espace). Tous ces éléments sont créés directement dans Layout Editor via le menu contextuel sur le canevas.

LinearLayout : agencement linéaire

LinearLayout est un conteneur qui dispose les éléments enfants séquentiellement horizontalement (android:orientation="horizontal") ou verticalement (android:orientation="vertical"). C'est la mise en page la plus simple à comprendre, mais elle crée une hiérarchie imbriquée avec des mises en page complexes, ce qui peut réduire les performances.

L'attribut clé de LinearLayout est le poids (android:layout_weight). Il permet de répartir l'espace libre entre les éléments proportionnellement selon les valeurs spécifiées. Si vous définissez weight="1" pour deux boutons, ils occuperont une largeur égale. Un élément avec weight="2" recevra deux fois plus d'espace qu'un élément avec weight="1". Exemple XML avec LinearLayout :

xml


    

    

    

Dans cet exemple, le EditText reçoit layout_weight="1" et occupe tout l'espace libre entre labelName et btnSubmit. layout_width="0dp" indique que la largeur de EditText est entièrement déterminée par le poids. Sans poids, vous devriez définir une largeur fixe, qui ne s'adapte pas aux différents écrans.

Caractéristiques importantes de LinearLayout : android:gravity contrôle l'alignement du contenu à l'intérieur du conteneur, et android:layout_gravity contrôle l'alignement du conteneur lui-même à l'intérieur du parent. LinearLayout avec des LinearLayout imbriqués est une cause fréquente d'imbrication profonde, donc Google recommande de remplacer ces constructions par ConstraintLayout.

Code XML : structure de la mise en page de l'intérieur

Chaque mise en page Android est un fichier XML dans le dossier res/layout/. Layout Editor génère ce fichier automatiquement, mais comprendre sa structure est nécessaire pour l'optimisation manuelle. L'élément racine définit le type de conteneur (ConstraintLayout, LinearLayout, FrameLayout), à l'intérieur duquel les widgets enfants sont placés.

Un modèle XML de base avec ConstraintLayout inclut les déclarations d'espaces de noms xmlns:android et xmlns:app. L'espace de noms app est utilisé pour les attributs de la bibliothèque ConstraintLayout, tels que layout_constraintStart_toStartOf. Chaque élément doit recevoir un android:id pour les références depuis d'autres éléments et depuis le code Activity ou Fragment.

Exemple d'un fragment de mise en page avec plusieurs éléments et contraintes :

xml


    

    

    

Dans cette mise en page, le ImageView est attaché au haut du parent et centré horizontalement. Le TextView est attaché au bord inférieur de ImageView (Top_toBottomOf). Le Button est placé sous le TextView. Cette chaîne de contraintes crée une structure séquentielle sans LinearLayout imbriqués.

Layout Editor permet de basculer entre la représentation visuelle et textuelle via les onglets Design / Code / Divisée. En mode Divisée, les modifications dans le XML sont instantanément répercutées sur le canevas et vice versa. C'est particulièrement pratique pour ajuster les attributs qui n'ont pas de contrôles visuels sur le canevas.

Palette de composants et Panneau de Propriétés

Palette est le panneau gauche de Layout Editor contenant tous les composants d'interface disponibles : TextView, Button, ImageView, EditText, ProgressBar, RecyclerView et autres. Les composants sont regroupés par catégories : Widgets, Texte, Boutons, Conteneurs, Transitions, Avancé. Pour ajouter un composant au canevas, faites-le simplement glisser de la palette vers la Surface de Conception.

Panneau de Propriétés (panneau droit) affiche tous les attributs de l'élément sélectionné. Le panneau est divisé en sections : Id (identifiant), Disposition (tailles et marges), Transformer (rotation et échelle), Texte (contenu du TextView), Remplissage et Marge. Pour chaque attribut, un menu déroulant est disponible avec les options : wrap_content, match_parent, match_constraint (0dp).

Une caractéristique du Panneau de Propriétés est l'éditeur visuel de marges (remplissage et marge) avec affichage graphique. En cliquant sur le nombre à côté de la flèche correspondante, vous pouvez modifier la marge à l'aide d'un curseur. Layout Editor normalise automatiquement les marges : si les quatre marges sont identiques, l'attribut android:layout_margin est utilisé, sinon les attributs individuels android:layout_marginStart, android:layout_marginTop et ainsi de suite.

Pour éditer les attributs de contrainte dans le Panneau de Propriétés, il y a une section spéciale Contraintes. Elle affiche toutes les liaisons de l'élément : à quel côté du parent ou d'un autre élément chaque bord est lié. Vous pouvez modifier le type de liaison, ajouter ou supprimer une contrainte. Vous pouvez également supprimer une contrainte en cliquant sur la ligne correspondante sur le canevas en mode Blueprint.

CatégorieComposantsExemples d'attributs
WidgetsTextView, ImageView, ProgressBartextSize, src, max
TexteEditText, AutoCompleteTextViewhint, inputType, imeOptions
BoutonsButton, ImageButton, ToggleButtontext, onClick, backgroundTint
ConteneursCardView, ScrollView, RecyclerViewcardCornerRadius, clipToPadding
AvancéWebView, MapView, VideoViewloadUrl, zOrderOnTop

Création de mises en page adaptatives

Une mise en page adaptative est une mise en page qui s'affiche correctement sur différentes tailles d'écran : des téléphones compacts (320dp) aux grandes tablettes (600dp+) et appareils pliables. Layout Editor fournit plusieurs outils pour vérifier et créer des interfaces adaptatives.

Le premier outil est Appareil pour Aperçu dans la barre d'outils. La liste déroulante contient des appareils populaires : Pixel 6, Pixel 9, Samsung Galaxy S25, Nexus 7, Nexus 9, Pixel C et autres. Vous pouvez ajouter un appareil personnalisé avec des tailles d'écran et une densité de pixels (dpi) arbitraires. Le basculement entre les appareils prend une seconde et montre à quoi ressemble la mise en page sur chaque écran.

Le deuxième outil est les qualificateurs de taille pour créer des mises en page alternatives. Dans Layout Editor, vous pouvez créer plusieurs versions du même fichier XML pour différentes tailles d'écran, orientations ou densités. Par exemple, un fichier activity_main.xml pour téléphone et activity_main-sw600dp.xml pour tablette. Layout Editor affiche automatiquement un aperçu pour le qualificateur actif.

La troisième approche est ConstraintLayout avec des Guidelines en pourcentage. Les lignes directrices avec l'attribut app:layout_constraintGuide_percent permettent de lier les éléments à des positions en pourcentage. Par exemple, une guideline à 50% divise l'écran en deux quelle que soit la taille de l'appareil. C'est la façon la plus flexible de créer des mises en page adaptatives sans dupliquer les fichiers XML.

Layout Editor affiche également des avertissements concernant les problèmes d'adaptabilité : triangles jaunes sur les éléments avec largeur fixe, images trop grandes ou imbrication sous-optimale. Le développeur peut cliquer sur un avertissement et obtenir une recommandation de correction.

Optimisation des mises en page XML

L'optimisation des mises en page affecte directement la vitesse de rendu et la fluidité de l'application. Layout Editor aide à détecter les problèmes grâce à l'Inspecteur de Mise en Page intégré et aux avertissements dans le panneau Problèmes. Les principales règles d'optimisation : minimiser l'imbrication, utiliser ConstraintLayout au lieu de LinearLayout imbriqués, choisir les bons attributs de taille.

La profondeur d'imbrication est le principal ennemi des performances. Chaque conteneur imbriqué augmente le temps de mesure et de dessin. L'outil Vue Hiérarchique dans Android Studio montre l'arbre de mise en page. Si la profondeur dépasse 5 à 6 niveaux, la mise en page doit être restructurée. ConstraintLayout résout ce problème en remplaçant 3 à 4 niveaux d'imbrication par un seul conteneur plat.

Recommandations pour l'optimisation des mises en page XML dans Layout Editor :

  • Utilisez ConstraintLayout comme conteneur racine au lieu de LinearLayout imbriqués — cela réduit la profondeur de la hiérarchie et accélère le rendu
  • Évitez layout_weight dans LinearLayout pour les grandes listes — le poids nécessite une mesure en deux passages (mise en page à deux passages)
  • Supprimez les contraintes inutilisées via le menu contextuel Clear Constraints of Selection dans Layout Editor
  • Utilisez ViewStub pour les blocs rarement affichés — ViewStub reporte le gonflement jusqu'au moment de la visibilité
  • Merge pour les composants réutilisables — la balise merge élimine le conteneur supplémentaire lors de l'inclusion via include
  • Réduisez la taille des images et utilisez VectorDrawable au lieu de PNG pour les icônes

Inspecteur de Mise en Page est un outil d'Android Studio pour profiler les mises en page pendant l'exécution de l'application. Il montre la hiérarchie réelle, le temps de mesure et de dessin de chaque composant. Layout Editor est intégré à l'Inspecteur de Mise en Page : un double-clic sur un avertissement ouvre le problème correspondant dans un rapport détaillé.

Foire Aux Questions

Qu'est-ce que Layout Editor dans Android Studio ?

Layout Editor est un éditeur visuel de mises en page XML intégré dans Android Studio. Il permet de créer l'interface utilisateur des applications Android en faisant glisser des composants sur le canevas, en configurant les attributs via le panneau des propriétés et en voyant le résultat en temps réel. Les modes Design, Blueprint et Divisée couvrent toutes les étapes du développement de la mise en page.

Quelle mise en page est préférable d'utiliser : ConstraintLayout ou LinearLayout ?

ConstraintLayout est recommandé par Google pour les nouveaux projets en raison de sa hiérarchie plate et de ses contraintes flexibles. LinearLayout n'est justifié que pour les sections linéaires simples avec 2 à 3 éléments sans imbrication. Vous pouvez combiner les deux approches dans une même mise en page, en utilisant ConstraintLayout comme conteneur racine.

Comment ajouter une contrainte dans Layout Editor ?

En mode Design, survolez le cercle sur le bord d'un élément (pour ConstraintLayout). Maintenez le bouton gauche de la souris enfoncé et faites glisser la ligne vers le parent ou un autre élément jusqu'à ce qu'un accrochage apparaisse. Pour le réglage numérique des marges, utilisez le Panneau de Propriétés, section Contraintes. Les contraintes sont également créées automatiquement lorsque Autoconnect est activé.

Pourquoi Layout Editor affiche-t-il des avertissements jaunes ?

Les avertissements jaunes indiquent des problèmes potentiels : performances sous-optimales (imbrication profonde, tailles fixes), absence de description de contenu pour l'accessibilité, chaînes codées en dur au lieu de ressources strings.xml. Chaque avertissement contient une recommandation de correction. Layout Editor met également en évidence les éléments avec des problèmes en rouge si l'erreur est critique.

Comment vérifier la mise en page sur différents écrans ?

Utilisez la liste déroulante Appareil pour Aperçu dans la barre d'outils de Layout Editor. Sélectionnez n'importe quel appareil dans la liste ou ajoutez un appareil personnalisé avec des dimensions arbitraires. Pour vérifier l'adaptabilité, créez des mises en page alternatives avec des qualificateurs (sw600dp, sw720dp) et basculez entre elles en utilisant la même liste. L'Inspecteur de Mise en Page sur un appareil réel montrera le résultat final.

Résumé

  • Layout Editor — éditeur visuel de mises en page XML dans Android Studio avec les modes Design, Blueprint et Divisée
  • ConstraintLayout — le conteneur principal avec hiérarchie plate, contraintes et support du Biais, Chaînes, Guidelines
  • LinearLayout — agencement linéaire des éléments avec répartition par poids, adapté aux sections simples
  • Palette et Panneau de Propriétés — glisser-déposer des composants et configuration visuelle de tous les attributs de mise en page
  • Adaptabilité — aperçu sur différents appareils, qualificateurs et Guidelines en pourcentage
  • Optimisation — minimiser l'imbrication, ConstraintLayout au lieu de LinearLayout imbriqués, Inspecteur de Mise en Page
  • Code XML est généré automatiquement et disponible pour édition manuelle dans l'onglet Code

Nous développerons une application mobile clé en main

IT Sectr crée des applications iOS et Android pour les startups et les entreprises depuis 2017. Nous vous conseillerons et vous proposerons la meilleure solution.

Discuter du projet

Lisez aussi