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
pxdipende dalla densità dello schermo. Su dispositivi con densità diverse, la stessa dimensione inpxoccuperà una superficie fisica diversa. -
dp (pixel indipendenti dalla densità): Pixel indipendenti dalla densità. Unità di misura basata sulla dimensione fisica dello schermo.
dpgarantisce una dimensione fisica uniforme degli elementi UI su schermi con densità diverse. 160dpsono circa uguali a 1 pollice su uno schermo di densità media (mdpi). Il framework Android scaladpin 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 usarespper 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 |