¿Qué son px, dp y sp en el contexto del desarrollo de Android?
sobes.tech AI
Respuesta de la IA
-
px (píxeles): Píxeles en la pantalla. Son puntos reales que componen la pantalla. El tamaño en
pxdependerá de la densidad de la pantalla. En dispositivos con diferentes densidades, el mismo tamaño enpxocupará una superficie física diferente. -
dp (píxeles independientes de la densidad): Píxeles independientes de la densidad. Unidad de medida basada en el tamaño físico de la pantalla.
dpasegura un tamaño físico uniforme de los elementos UI en pantallas con diferentes densidades. 160dpson aproximadamente iguales a 1 pulgada en una pantalla de densidad media (mdpi). El framework Android escaladpsegún la densidad del dispositivo. -
sp (píxeles independientes de la escala): Píxeles independientes de la escala. Similar a
dp, pero además se escala según la configuración de fuente del usuario (por ejemplo, tamaño de fuente en configuraciones del sistema). Se recomienda usarsppara definir el tamaño del texto.
Ejemplo de uso en XML:
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="16sp" // Tamaño del texto en sp
android:padding="8dp" /> // Márgenes en dp
<ImageView
android:layout_width="50dp" // Ancho de la imagen en dp
android:layout_height="50dp" /> // Alto de la imagen en dp
Tabla resumen:
| Unidad | Propósito | Escala desde | Recomendado para |
|---|---|---|---|
| px | Píxel físico | - | No recomendado |
| dp | Independiente de la densidad | Densidad de la pantalla | Elementos UI |
| sp | Independiente de la escala y tamaño de fuente | Densidad de la pantalla y tamaño de fuente | Texto |