Layout e viste
Progettare interfacce utente con layout XML. Usare ConstraintLayout, LinearLayout e viste comuni come TextView, Button, ImageView ed EditText.
Layout e viste è una lezione Android Academy gratuita su CoddyKit. Questa è la lezione 3 di 7. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Android Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Android Academy include 7 lezioni in totale.
Creazione di interfacce utente con XML
Le interfacce utente Android sono definite nei file di layout XML archiviati in res/layout/. Il layout descrive la struttura e l'aspetto della schermata: quali viste vengono visualizzate e in quale posizione.
Il codice Kotlin esegue quindi l'inflation di questo layout e interagisce con le viste durante l'esecuzione.
Tipi di viste comuni
I widget View utilizzati più frequentemente:
TextView— visualizza del testoEditText— campo di immissione del testoButton— pulsante selezionabileImageView— visualizza un'immagineCheckBox— attiva o disattiva un'opzioneSwitch— interruttore di attivazione/disattivazione (Material)
ConstraintLayout
ConstraintLayout è il layout consigliato per la maggior parte delle schermate. Consente di posizionare le viste in relazione tra loro o al contenitore principale usando i vincoli, come se si collegassero punti di ancoraggio.
- Gerarchia piatta: non sono necessari layout annidati
- Flessibile: gestisce qualsiasi dimensione dello schermo
- Utilizzato per impostazione predefinita nei nuovi progetti Android Studio
XML di ConstraintLayout
Un TextView centrato nella schermata con ConstraintLayout:
<!-- res/layout/activity_main.xml -->
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/tvTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello Android!"
android:textSize="24sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>LinearLayout
LinearLayout dispone le viste in una singola riga o colonna:
android:orientation="vertical"— impila le viste dall'alto verso il bassoandroid:orientation="horizontal"— dispone le viste una accanto all'altraandroid:layout_weight— distribuisce proporzionalmente lo spazio rimanente
È semplice e prevedibile, ma eviti di annidare troppi layout.
Attributi di layout principali
Ogni View presenta questi attributi essenziali:
layout_width/layout_height:match_parent,wrap_contentoppure un valore dp fissoid: utilizzato per fare riferimento alla vista in Kotlinmargin: spazio esterno alla vistapadding: spazio interno alla vista
Utilizzi dp per le dimensioni (pixel indipendenti dalla densità) e sp per le dimensioni del testo.
ScrollView
Quando il contenuto è più alto dello schermo, lo avvolga in una ScrollView:
- Può contenere un solo elemento figlio diretto (di solito un LinearLayout)
- Scorrimento verticale per impostazione predefinita
- Utilizzi
HorizontalScrollViewper lo scorrimento orizzontale
Per gli elenchi dinamici lunghi, utilizzi invece RecyclerView: è più efficiente.
Ricerca delle viste nel codice
Due modi per accedere alle viste nel codice Kotlin:
findViewById(R.id.tvTitle)— metodo classico, restituisce la vista tramite l'ID- ViewBinding — approccio moderno: genera una classe di binding dall'XML, offrendo un accesso type-safe a tutte le viste
ViewBinding è fortemente consigliato: lo imparerà nella lezione successiva.
Utilizzo di findViewById
Accedere alle viste e modificarle da onCreate:
import android.os.Bundle
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val tvTitle = findViewById<TextView>(R.id.tvTitle)
tvTitle.text = "Welcome!"
tvTitle.textSize = 20f
}
}Verifica rapida
Quale unità dovrebbe utilizzare per la dimensione del testo nei layout Android?
Riepilogo: layout e viste
Ora può progettare le schermate Android:
- Le interfacce utente sono definite nei file di layout XML in
res/layout/ - Viste comuni: TextView, EditText, Button, ImageView
- ConstraintLayout — flessibile, piatto e consigliato
- LinearLayout — disposizione semplice in riga o colonna
- Utilizzi
dpper le dimensioni espper il testo - Acceda alle viste in Kotlin con
findViewById
Prossimo argomento: rendere interattiva l'interfaccia gestendo l'input dell'utente.
Impara Kotlin con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 36
- Lezioni
- 152
Domande Frequenti
La lezione «Layout e viste» è gratuita?
Sì — il testo completo di «Layout e viste» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Android Academy, passa a CoddyKit PRO. Il corso Android Academy include 7 lezioni in totale.
Cosa imparerò in «Layout e viste»?
Progettare interfacce utente con layout XML. Usare ConstraintLayout, LinearLayout e viste comuni come TextView, Button, ImageView ed EditText. Eserciti Android Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Android Academy?
Non è richiesta alcuna esperienza precedente. Android Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 7.
Quanto tempo richiede la lezione «Layout e viste»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Android Academy?
Sì. Ogni lezione Android Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Struttura del progetto e manifest
- Activity e ciclo di vita
- Layout e viste
- Gestione dell'input dell'utente
- Intent e navigazione
- Fragment
- Autorizzazioni e richieste a runtime