Android Academy · Lezione

Layout e viste

Progettare interfacce utente con layout XML. Usare ConstraintLayout, LinearLayout e viste comuni come TextView, Button, ImageView ed EditText.

Lezione 3 di 711 passaggi

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 testo
  • EditText — campo di immissione del testo
  • Button — pulsante selezionabile
  • ImageView — visualizza un'immagine
  • CheckBox — attiva o disattiva un'opzione
  • Switch — 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 basso
  • android:orientation="horizontal" — dispone le viste una accanto all'altra
  • android: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_content oppure un valore dp fisso
  • id: utilizzato per fare riferimento alla vista in Kotlin
  • margin: spazio esterno alla vista
  • padding: 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 HorizontalScrollView per 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 dp per le dimensioni e sp per il testo
  • Acceda alle viste in Kotlin con findViewById

Prossimo argomento: rendere interattiva l'interfaccia gestendo l'input dell'utente.

Gratis per iniziare

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

  1. Struttura del progetto e manifest
  2. Activity e ciclo di vita
  3. Layout e viste
  4. Gestione dell'input dell'utente
  5. Intent e navigazione
  6. Fragment
  7. Autorizzazioni e richieste a runtime
← Torna a Android Academy