Cuando nos ponemos a desarrollar una APP, sea para sistema móvil que sea, cuando estamos creando el layout, muchos pensamos … las medidas las pongo en PX, DIP, IN… Con este pequeño articulo voy a intentar dejar claro que significa cada uno de ellos. Una dimensión se especifica con un número seguido de una unidad de medida. Por ejemplo: 10px, 2 pulgadas, 5sp.
dp (Densidad de píxeles)– Es una unidad abstracta que se basa en la densidad física de la pantalla. Esta unidad de medida es la que yo normalmente utilizo, ya que son unidades relativas a un dpi 160 (puntos por pulgada) de pantalla, en la que 1dp es aproximadamente igual a 1px. Ell sistema tendrá en cuenta la densidad de pantalla y ajustara los pixeles por nosotros de forma que una pantalla de mayor densidad tendrá que utilizar un número de píxeles mayor para dibujar 1DP. Asimismo, cuando en una pantalla de densidad más baja, el número de píxeles utilizados para 1DP sera menor. La proporción de DP a píxel cambia con la densidad de pantalla, pero no necesariamente en una proporción directa.
sp (Escala de píxeles) – Esto es como la unidad dp, pero también tiene en cuenta las preferencias del usuario, tomando el tamaño de fuente que tiene definido cada usuario en su dispositivo. Es una unidad de medidas muy interesante de hecho se recomienda su uso ya que se ajusta tanto para la densidad de pantalla como para la preferencia del usuario.
pt (Puntos) – 1/72 de una pulgada en función del tamaño físico de la pantalla.
px (Píxeles) – corresponde a píxeles reales en la pantalla. Esta unidad de medida no se recomienda porque la representación real puede variar a través de dispositivos, cada uno de los dispositivos pueden tener un número diferente de píxeles por pulgada y pueden tener más o menos de píxeles totales disponibles en la pantalla.
mm (Milímetros) – Basado en el tamaño físico de la pantalla.
in (Pulgadas) – Basado en el tamaño físico de la pantalla.
Buenas, un artículo interesante pero estaría bien un artículo más técnico sobre cómo podemos usar sp en Android o iOS?
Tomo nota e intento sacar pronto un articulo con ejemplos de código!