Sobes.tech
Junior

Cosa sono px, dp e sp nel contesto dello sviluppo Android?

sobes.tech AI

Risposta dell'AI

  • px (pixel): Pixel sullo schermo. Sono punti reali che costituiscono il display. La dimensione in px dipende dalla densità dello schermo. Su dispositivi con densità diverse, la stessa dimensione in px occuperà una superficie fisica diversa.

  • dp (pixel indipendenti dalla densità): Pixel indipendenti dalla densità. Unità di misura basata sulla dimensione fisica dello schermo. dp garantisce una dimensione fisica uniforme degli elementi UI su schermi con densità diverse. 160 dp sono circa uguali a 1 pollice su uno schermo di densità media (mdpi). Il framework Android scala dp in base alla densità del dispositivo.

  • sp (pixel indipendenti dalla scala): Pixel indipendenti dalla scala. Simili a dp, ma vengono scalati anche in base alle impostazioni del font dell'utente (ad esempio, la dimensione del font nelle impostazioni di sistema). Si consiglia di usare sp per impostare la dimensione del testo.

Esempio di utilizzo in XML:

<TextView  
    android:layout_width="match_parent"  
    android:layout_height="wrap_content"  
    android:textSize="16sp"  // Dimensione del testo in sp
    android:padding="8dp" /> // Margini in dp

<ImageView  
    android:layout_width="50dp"  // Larghezza immagine in dp
    android:layout_height="50dp"  /> // Altezza immagine in dp

Tabella riassuntiva:

Unità Scopo Si scala da Raccomandato per
px Pixel fisico - Non raccomandato
dp Pixel indipendente dalla densità Densità dello schermo Elementi UI
sp Pixel indipendente dalla scala e dalla dimensione del testo Densità dello schermo e dimensione del testo Testo