Sobes.tech
Junior

¿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 px dependerá de la densidad de la pantalla. En dispositivos con diferentes densidades, el mismo tamaño en px ocupará 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. dp asegura un tamaño físico uniforme de los elementos UI en pantallas con diferentes densidades. 160 dp son aproximadamente iguales a 1 pulgada en una pantalla de densidad media (mdpi). El framework Android escala dp segú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 usar sp para 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