Layout Editor: cos'è, Android Studio e creazione di layout

Autore: IT Sectr Pubblicato: 2026-02-12 Tempo di lettura: 10 min

Layout Editor è un editor visivo di layout XML in Android Studio che consente di creare interfacce di applicazioni Android senza scrivere codice manualmente. Scopriamo cos'è, come lavorare con ConstraintLayout e LinearLayout, usare la palette dei componenti e configurare gli attributi tramite il Pannello delle Proprietà.

Punti chiave

  • Layout Editor — un'interfaccia visiva per creare layout XML Android in Android Studio con trascinamento e anteprima in tempo reale
  • ConstraintLayout — il layout di base che crea una gerarchia piatta con vincoli flessibili tra gli elementi
  • LinearLayout — un contenitore per la disposizione lineare dei widget orizzontalmente o verticalmente con distribuzione del peso
  • Blueprint e Design — due modalità di visualizzazione: uno schema con vincoli e un'anteprima visiva del layout
  • Pannello delle Proprietà — un pannello per configurare tutti gli attributi del componente selezionato senza passare a XML

Cos'è Layout Editor?

Layout Editor è uno strumento integrato in Android Studio per progettare visivamente le interfacce utente delle applicazioni Android. Si apre facendo doppio clic su un file XML di layout nella cartella res/layout/ ed è disponibile tramite il pannello inferiore che consente di passare tra le schede Codice, Design e Divisione. Lo sviluppatore può trascinare i componenti dalla palette sul canvas, configurare le loro proprietà e osservare le modifiche in tempo reale.

Lo strumento supporta due modalità di visualizzazione: Design (canvas visivo con rendering reale dei widget) e Blueprint (rappresentazione schematica con vincoli e bordi). La modalità Divisa mostra sia il codice XML che il canvas visivo contemporaneamente. Il passaggio tra di essi avviene tramite i pulsanti nell'angolo superiore sinistro dell'editor.

Layout Editor genera automaticamente codice XML per ogni azione dell'utente: aggiunta di un elemento, impostazione dei margini, creazione di un vincolo. Ciò consente allo sviluppatore di non dover memorizzare decine di attributi XML e di concentrarsi sul risultato visivo. Il codice generato può sempre essere modificato manualmente nella scheda Codice.

ModalitàDescrizioneScorciatoia
DesignCanvas visivo con componenti realiShift + D
BlueprintSchema con vincoli e bordiShift + B
DivisaCodice XML e canvas simultaneamenteShift + S

Zone principali di Layout Editor

L'interfaccia di Layout Editor è divisa in quattro zone: Palette (palette dei componenti), Albero dei Componenti (albero dei componenti), Superficie di Progettazione (canvas di progettazione) e Pannello delle Proprietà (pannello delle proprietà). La Palette contiene tutti i widget disponibili dell'SDK Android raggruppati per categorie: Widgets, Testo, Pulsanti, Contenitori e altri. L'Albero dei Componenti mostra la gerarchia del layout come un albero, consentendo di trascinare elementi tra i contenitori.

Superficie di Progettazione è la parte centrale dell'editor dove viene visualizzato il layout. Sul canvas è possibile selezionare elementi, spostarli, ridimensionarli e creare vincoli. Nella parte inferiore del canvas è presente un selettore di dispositivi e orientamento per visualizzare l'anteprima del layout su schermi diversi. Layout Editor supporta l'anteprima su una varietà di dispositivi virtuali: Nexus, Pixel e Samsung.

Pannello delle Proprietà mostra gli attributi dell'elemento selezionato: layout_width, layout_height, margini, padding, gravità e tutti gli attributi specifici come textSize per TextView. Ogni modifica nel Pannello delle Proprietà viene istantaneamente riflessa sul canvas e genera il corrispondente codice XML.

Nell'angolo superiore sinistro dell'editor si trovano i pulsanti di controllo: selezione della modalità di visualizzazione, attivazione della connessione automatica dei vincoli (Autoconnect), visualizzazione dei vincoli come linee e passaggio tra dispositivi virtuali. Il pulsante "Dispositivo per Anteprima" consente di selezionare un modello di smartphone, tablet o Android TV per verificare l'adattabilità.

ConstraintLayout: posizionamento flessibile

ConstraintLayout è il layout principale raccomandato da Google per tutti i nuovi progetti Android. A differenza dei LinearLayout annidati, ConstraintLayout crea una gerarchia piatta dove ogni elemento è collegato al genitore, ad altri elementi o a linee guida. Ciò riduce la profondità di annidamento e migliora le prestazioni di rendering.

Ogni elemento in ConstraintLayout ha vincoli laterali: app:layout_constraintStart_toStartOf, app:layout_constraintEnd_toEndOf, app:layout_constraintTop_toTopOf, app:layout_constraintBottom_toBottomOf. I vincoli possono essere collegati al genitore (parent) o all'ID di un altro elemento. Un modello XML di base si presenta così:

xml



    

In questo esempio, il TextView è centrato su tutti e quattro i lati del genitore. La dimensione 0dp (match_constraint) significa che la larghezza si estende dal vincolo sinistro a quello destro. Questo approccio consente di creare layout adattivi senza dimensioni fisse.

ConstraintLayout supporta anche il Bias — lo spostamento del centro di un elemento. Gli attributi layout_constraintHorizontal_bias e layout_constraintVertical_bias assumono valori da 0 a 1, dove 0,5 è il centro, 0 è all'inizio, 1 è alla fine. Il bias consente di posizionare con precisione un elemento tra due vincoli.

Funzionalità aggiuntive di ConstraintLayout: Guidelines (linee guida in percentuali o dp), Barriers (barriere che raggruppano più elementi) e Chains (catene di elementi con distribuzione dello spazio). Tutti questi elementi vengono creati direttamente in Layout Editor tramite il menu contestuale sul canvas.

LinearLayout: disposizione lineare

LinearLayout è un contenitore che dispone gli elementi figli sequenzialmente orizzontalmente (android:orientation="horizontal") o verticalmente (android:orientation="vertical"). È il layout più semplice da capire, ma crea una gerarchia annidata con layout complessi, che può ridurre le prestazioni.

L'attributo chiave di LinearLayout è il peso (android:layout_weight). Consente di distribuire lo spazio libero tra gli elementi proporzionalmente secondo i valori specificati. Se si imposta weight="1" per due pulsanti, occuperanno la stessa larghezza. Un elemento con weight="2" riceverà il doppio dello spazio rispetto a uno con weight="1". Esempio XML con LinearLayout:

xml


    

    

    

In questo esempio, EditText riceve layout_weight="1" e occupa tutto lo spazio libero tra labelName e btnSubmit. layout_width="0dp" indica che la larghezza di EditText è completamente determinata dal peso. Senza peso, si dovrebbe impostare una larghezza fissa, che non si adatta a schermi diversi.

Caratteristiche importanti di LinearLayout: android:gravity controlla l'allineamento del contenuto all'interno del contenitore, e android:layout_gravity controlla l'allineamento del contenitore stesso all'interno del genitore. LinearLayout con LinearLayout annidati è una causa comune di annidamento profondo, quindi Google raccomanda di sostituire tali costruzioni con ConstraintLayout.

Codice XML: struttura del layout dall'interno

Ogni layout Android è un file XML nella cartella res/layout/. Layout Editor genera questo file automaticamente, ma comprendere la sua struttura è necessario per l'ottimizzazione manuale. L'elemento radice definisce il tipo di contenitore (ConstraintLayout, LinearLayout, FrameLayout), all'interno del quale vengono posizionati i widget figli.

Un modello XML di base con ConstraintLayout include le dichiarazioni degli spazi dei nomi xmlns:android e xmlns:app. Lo spazio dei nomi app viene utilizzato per gli attributi della libreria ConstraintLayout, come layout_constraintStart_toStartOf. Ogni elemento dovrebbe ricevere un android:id per i riferimenti da altri elementi e dal codice Activity o Fragment.

Esempio di un frammento di layout con diversi elementi e vincoli:

xml


    

    

    

In questo layout, ImageView è attaccato alla parte superiore del genitore e centrato orizzontalmente. TextView è attaccato al bordo inferiore di ImageView (Top_toBottomOf). Button è posizionato sotto TextView. Questa catena di vincoli crea una struttura sequenziale senza LinearLayout annidati.

Layout Editor consente di passare tra rappresentazione visiva e testuale tramite le schede Design / Codice / Divisa. In modalità Divisa, le modifiche in XML vengono istantaneamente riflesse sul canvas e viceversa. Ciò è particolarmente utile per la regolazione fine degli attributi che non hanno controlli visivi sul canvas.

Palette dei componenti e Pannello delle Proprietà

Palette è il pannello sinistro di Layout Editor che contiene tutti i componenti dell'interfaccia disponibili: TextView, Button, ImageView, EditText, ProgressBar, RecyclerView e altri. I componenti sono raggruppati per categorie: Widgets, Testo, Pulsanti, Contenitori, Transizioni, Avanzate. Per aggiungere un componente al canvas, basta trascinarlo dalla Palette sulla Superficie di Progettazione.

Pannello delle Proprietà (pannello destro) mostra tutti gli attributi dell'elemento selezionato. Il pannello è diviso in sezioni: Id (identificatore), Layout (dimensioni e margini), Trasforma (rotazione e scala), Testo (contenuto TextView), Riempimento e Margine. Per ogni attributo è disponibile un menu a discesa con opzioni: wrap_content, match_parent, match_constraint (0dp).

Una caratteristica del Pannello delle Proprietà è l'editor visivo dei margini (padding e margin) con visualizzazione grafica. Cliccando sul numero accanto alla freccia corrispondente, è possibile modificare il margine utilizzando un cursore. Layout Editor normalizza automaticamente i margini: se tutti e quattro i margini sono uguali, viene utilizzato l'attributo android:layout_margin, altrimenti android:layout_marginStart, android:layout_marginTop individuali e così via.

Per modificare gli attributi dei vincoli nel Pannello delle Proprietà, c'è una sezione speciale Vincoli. Mostra tutti i collegamenti dell'elemento: a quale lato del genitore o di un altro elemento è attaccato ciascun bordo. È possibile cambiare il tipo di collegamento, aggiungere o rimuovere un vincolo. È anche possibile rimuovere un vincolo cliccando sulla linea corrispondente sul canvas in modalità Blueprint.

CategoriaComponentiAttributi di esempio
WidgetsTextView, ImageView, ProgressBartextSize, src, max
TestoEditText, AutoCompleteTextViewhint, inputType, imeOptions
PulsantiButton, ImageButton, ToggleButtontext, onClick, backgroundTint
ContenitoriCardView, ScrollView, RecyclerViewcardCornerRadius, clipToPadding
AvanzateWebView, MapView, VideoViewloadUrl, zOrderOnTop

Creazione di layout adattivi

Un layout adattivo è un layout che si visualizza correttamente su diverse dimensioni dello schermo: dai telefoni compatti (320dp) ai grandi tablet (600dp+) e dispositivi pieghevoli. Layout Editor fornisce diversi strumenti per verificare e creare interfacce adattive.

Il primo strumento è Dispositivo per Anteprima nella barra degli strumenti. L'elenco a discesa contiene dispositivi popolari: Pixel 6, Pixel 9, Samsung Galaxy S25, Nexus 7, Nexus 9, Pixel C e altri. È possibile aggiungere un dispositivo personalizzato con dimensioni dello schermo e densità di pixel (dpi) arbitrarie. Il passaggio da un dispositivo all'altro richiede un secondo e mostra come appare il layout su ciascuno schermo.

Il secondo strumento sono i qualificatori di dimensione per creare layout alternativi. In Layout Editor, è possibile creare più versioni dello stesso file XML per diverse dimensioni dello schermo, orientamenti o densità. Ad esempio, un file activity_main.xml per telefono e activity_main-sw600dp.xml per tablet. Layout Editor mostra automaticamente un'anteprima per il qualificatore attivo.

Il terzo approccio è ConstraintLayout con Guidelines percentuali. Le linee guida con l'attributo app:layout_constraintGuide_percent consentono di collegare gli elementi a posizioni percentuali. Ad esempio, una linea guida al 50% divide lo schermo a metà indipendentemente dalla dimensione del dispositivo. Questo è il modo più flessibile per creare layout adattivi senza duplicare file XML.

Layout Editor mostra anche avvisi sui problemi di adattabilità: triangoli gialli su elementi con larghezza fissa, immagini troppo grandi o annidamento non ottimale. Lo sviluppatore può cliccare su un avviso e ottenere una raccomandazione per la correzione.

Ottimizzazione dei layout XML

L'ottimizzazione dei layout influisce direttamente sulla velocità di rendering e sulla fluidità dell'applicazione. Layout Editor aiuta a rilevare i problemi attraverso l'Ispettore di Layout integrato e gli avvisi nel pannello Problemi. Le principali regole di ottimizzazione: minimizzare l'annidamento, utilizzare ConstraintLayout invece di LinearLayout annidati, scegliere gli attributi di dimensione corretti.

La profondità di annidamento è il principale nemico delle prestazioni. Ogni contenitore annidato aumenta il tempo di misurazione e disegno. Lo strumento Vista Gerarchica in Android Studio mostra l'albero del layout. Se la profondità supera i 5–6 livelli, il layout dovrebbe essere ristrutturato. ConstraintLayout risolve questo problema sostituendo 3–4 livelli di annidamento con un unico contenitore piatto.

Raccomandazioni per l'ottimizzazione dei layout XML in Layout Editor:

  • Utilizzare ConstraintLayout come contenitore radice invece di LinearLayout annidati — riduce la profondità della gerarchia e accelera il rendering
  • Evitare layout_weight in LinearLayout per elenchi grandi — il peso richiede una misurazione a due passaggi (layout a due passaggi)
  • Rimuovere i vincoli inutilizzati tramite il menu contestuale Clear Constraints of Selection in Layout Editor
  • Utilizzare ViewStub per blocchi visualizzati raramente — ViewStub rimanda il gonfiaggio fino al momento della visibilità
  • Merge per componenti riutilizzabili — il tag merge elimina il contenitore extra quando incluso tramite include
  • Ridurre le dimensioni delle immagini e utilizzare VectorDrawable invece di PNG per le icone

Ispettore di Layout è uno strumento di Android Studio per profilare i layout durante l'esecuzione dell'applicazione. Mostra la gerarchia reale, il tempo di misurazione e disegno di ciascun componente. Layout Editor è integrato con Ispettore di Layout: un doppio clic su un avviso apre il problema corrispondente in un rapporto dettagliato.

Domande Frequenti

Cos'è Layout Editor in Android Studio?

Layout Editor è un editor visivo di layout XML integrato in Android Studio. Consente di creare l'interfaccia utente delle applicazioni Android trascinando i componenti sul canvas, configurando gli attributi tramite il pannello delle proprietà e vedendo il risultato in tempo reale. Le modalità Design, Blueprint e Divisa coprono tutte le fasi dello sviluppo del layout.

Quale layout è meglio usare: ConstraintLayout o LinearLayout?

ConstraintLayout è raccomandato da Google per i nuovi progetti grazie alla sua gerarchia piatta e ai vincoli flessibili. LinearLayout è giustificato solo per sezioni lineari semplici con 2–3 elementi senza annidamento. È possibile combinare entrambi gli approcci in un unico layout, utilizzando ConstraintLayout come contenitore radice.

Come aggiungere un vincolo in Layout Editor?

In modalità Design, posizionare il cursore sul cerchio sul bordo di un elemento (per ConstraintLayout). Tenere premuto il pulsante sinistro del mouse e trascinare la linea verso il genitore o un altro elemento fino a quando appare un aggancio. Per la regolazione numerica dei margini, utilizzare il Pannello delle Proprietà, sezione Vincoli. I vincoli vengono creati automaticamente anche quando Autoconnect è attivato.

Perché Layout Editor mostra avvisi gialli?

Gli avvisi gialli indicano potenziali problemi: prestazioni non ottimali (annidamento profondo, dimensioni fisse), mancanza di descrizione del contenuto per l'accessibilità, stringhe scritte direttamente nel codice invece di risorse strings.xml. Ogni avviso contiene una raccomandazione per la correzione. Layout Editor evidenzia anche gli elementi con problemi in rosso se l'errore è critico.

Come verificare il layout su schermi diversi?

Utilizzare l'elenco a discesa Dispositivo per Anteprima nella barra degli strumenti di Layout Editor. Selezionare qualsiasi dispositivo dall'elenco o aggiungerne uno personalizzato con dimensioni arbitrarie. Per verificare l'adattabilità, creare layout alternativi con qualificatori (sw600dp, sw720dp) e passare da uno all'altro utilizzando lo stesso elenco. L'Ispettore di Layout su un dispositivo reale mostrerà il risultato finale.

Riepilogo

  • Layout Editor — editor visivo di layout XML in Android Studio con modalità Design, Blueprint e Divisa
  • ConstraintLayout — il contenitore principale con gerarchia piatta, vincoli e supporto per Bias, Catene, Guidelines
  • LinearLayout — disposizione lineare degli elementi con distribuzione del peso, adatto per sezioni semplici
  • Palette e Pannello delle Proprietà — trascinamento dei componenti e configurazione visiva di tutti gli attributi del layout
  • Adattabilità — anteprima su diversi dispositivi, qualificatori e Guidelines percentuali
  • Ottimizzazione — minimizzare l'annidamento, ConstraintLayout invece di LinearLayout annidati, Ispettore di Layout
  • Codice XML viene generato automaticamente ed è disponibile per la modifica manuale nella scheda Codice

Svilupperemo un'applicazione mobile chiavi in mano

IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.

Discuti il progetto

Leggi anche