Cómo hacer notificaciones push en Android fácil
Mira como hacer notificaciones push para tu aplicación móvil de Android.
Conoce las diferentes unidades de medición en Android, mira las diferencias entre PX, DP y SP en Android.
Tabla de contenidos
Una de las grandes dudas que tenemos cuando empezamos a programar en Android, es que no conocemos las unidades de medida dp y sp . Y para crear el diseño de nuestra app correctamente es imprescindible conocer como funciona.
Un píxel es un punto que emite un solo color en una imagen o en una pantalla . Si hablamos de fotografía digital, todos conocemos a la perfección a qué nos referimos cuando hablamos de megapíxeles. Una cámara de 12 megapíxeles, puede capturar imágenes compuestas por 12 millones de píxeles, es decir, 12 millones de puntos de color. Cuanto mayor es la cantidad de puntos, o píxeles, mejor calidad tendrá la fotografía que tomamos.
A continuación se muestra una imagen de Alta densidad:
La siguiente figura, en cambio muestra la misma interfaz de usuario en una pantalla de baja densidad, en una pantalla del mismo tamaño, pero con menor número de píxeles:
Densidad de píxeles por pulgada (ppp, en inglés ppi: pixel per inch)
Es la cantidad de píxeles que cabe en una pulgada. Las pantallas de alta densidad tienen más píxeles por pulgada que los de baja densidad. Esto da como resultado que algunos elementos gráficos (como los botones) se vean más grandes en una pantalla de baja densidad y más pequeños en una de alta densidad.
El cálculo de la densidad de píxeles de una pantalla se expresa en la siguiente fórmula:
densidad de pantalla = anchura de pantalla (o altura) en píxeles / anchura de pantalla (o altura) en pulgadas.
Hoy en día, al comprar un teléfono móvil una de las características en la que más se fijan los usuarios es en el tamaño de pantalla (expresado en pulgadas). Así nos encontramos móviles de 4, 5, 6 pulgadas. Dicha información suele venir acompañada de la resolución de la misma, expresada en el número de píxeles (punto de luz) que tiene la pantalla tanto en horizontal como en vertical.
Son unidades flexibles que se escalan a dimensiones uniformes en cualquier pantalla. Cuando desarrolle aplicaciones para Android, utilice dp para mostrar los elementos uniformemente en pantallas con diferentes densidades.
Un dp es igual a un pixel en una pantalla de densidad de 160 . Para calcular dp:
dp = (ancho en píxeles * 160) / densidad de la pantalla.
Scale-independent-Pixels en inglés, tienen la misma función que los dp , la diferencia es que se aplican a textos, en el caso de Android para TextView o cualquier otro elemento que soporte una fuente.
El valor por defecto de un sp es el mismo que el valor por defecto de un dp . Por ejemplo:
TextView
android:id="@+id/textView"
android:text="Tamaño de texto 25sp (Scale-independent-Pixels)"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="25sp"
La diferencia principal entre un sp y un dp es que el sp preserva los ajustes del usuario respecto a la fuente . Los usuarios que tengan ajustes para agrandar el texto verán que el tamaño del texto concuerda con sus preferencias. Por ello, se recomienda el uso de esta unidad de medida para fuentes.
En Android existe una nomenclatura para categorizar las imágenes en función de la resolución de la pantalla y de la densidad de píxeles:
Screen resolution | dpi | Pixel ratio | Image size (pixels) |
xxxhdpi | 640 | 4.0 | 400 x 400 |
xxhdpi | 480 | 3.0 | 300 x 300 |
xhdpi | 320 | 2.0 | 200 x 200 |
hdpi | 240 | 1.5 | 150 x 150 |
mdpi | 160 | 1.0 | 100 x 100 |
Android dispone de un asistente que a partir de una imagen que queramos utilizar en el proyecto, nos genera la transformación de dicha imagen a las diferentes resoluciones . Este tipo de imágenes de las que hablamos deben ser de uno de estos tipos:
También te puede interesar
Mira como hacer notificaciones push para tu aplicación móvil de Android.
Aprende todo lo necesario sobre Java para poder iniciarte en el desarrollo de aplicaciones móviles nativas en Android.
Aprende a programar en Android y Java para crear aplicaciones móviles desde cero de manera profesional. Pasa tu...