Multiples Dispositivos, Multiples Pantallas
Android corre en una variedad de dispositivos que ofrecen diferentes tamaños de pantalla y densidades. Para las aplicaciones, el sistema Android ofrece un entorno de desarrollo coherente en todos los dispositivos y se encarga de la mayor parte del trabajo para ajustar la interfaz de cada usuario de la aplicación a la pantalla en la que se muestra. Al mismo tiempo, el sistema proporciona APIs que le permiten controlar la interfaz de usuario de la aplicación para tamaños de pantalla y densidades específicas con el fin de optimizar el diseño de interfaz de usuario. Por ejemplo, es posible que desee una interfaz de usuario para tablets que es diferente de la interfaz de usuario para los teléfonos.
Aunque el sistema lleva a cabo la ampliación y cambio de tamaño pantallas, el desarrollador debe hacer el esfuerzo para optimizar su aplicación para los diferentes tamaños de pantalla y densidades. De este modo, se maximiza la experiencia del usuario para todos los dispositivos dando la sensación de que su aplicación fue diseñada realmente para su/sus dispositivos en lugar de ser un mero ajuste a la pantalla en sus dispositivos.
Con este documento se pretende permitir la creación de aplicaciones que se muestren correctamente en todas las configuraciones de pantalla posibles. desde un unico archivo
.apk
Para una mayor profundidad sobre este tema se recomienda la lectura de la Guía Oficial de Android del Desarrollador
Descripción del Soporte de Pantallas
Esta sección proporciona una visión general del soporte de Android para múltiples pantallas, incluyendo: una introducción a los términos y conceptos utilizados en este documento y en la API y un resumen de las configuraciones de pantalla que el sistema soporta.
Términos y conceptos
- Tamaño físico real, se mide como la diagonal de la pantalla.
Para simplificar, los tamaños de pantalla en Android se dividen en 4 grupos: small, normal, large, y extra large. - La cantidad de pixeles dentro de un área física de la pantalla; referida generalmente como dpi (puntos por pulgada). Por ejemplo, una "baja" densidad pantalla tiene menos píxeles en un área determinada físico, frente a una pantalla de densidad "normal" o "alta".
Para simplificar, las densidades de pantalla en Android se dividen en 4 grupos: low, medium, high, y extra high.Figura 1. Ilustración de cómo Android aproximadamente asigna tamaños reales y densidades de pantalla (las cifras no son exactas). - La orientación de la pantalla desde el punto de vista del usuario. Este puede ser horizontal (landscape) o vertical (portrait). Tenga en cuenta que no sólo los diferentes dispositivos operan en diferentes orientaciones por defecto, pero se puede cambiar la orientación en tiempo de ejecución cuando el usuario gira el dispositivo.
- El número total de píxeles físicos en una pantalla. Las aplicaciones deben referirse únicamente mediante el tamaño de pantalla y la densidad, encuadrandolas para los diferentes grupos de tamaños y densidades de pantalla.
- Una unidad de pixel virtual que se debe utilizar en la definición de diseño de interfaz de usuario, para expresar dimensiones del diseño o la posición de una manera independiente de la densidad.
La densidad de un pixel independiente es equivalente a un píxel físico en una pantalla de 160 dpi, que es la densidad de línea de base asumida por el sistema para una pantalla de densidad "medium". En tiempo de ejecución, el sistema maneja de manera transparente cualquier escala de las unidades de DP, según sea necesario, en base a la densidad real de la pantalla en uso. La conversión de las unidades de DP a píxeles de la pantalla es simple: . Por ejemplo, en una pantalla de 240 dpi, 1 dp es igual a 1,5 pixeles físicos. Siempre se debe usar unidades dp la hora de definir la interfaz de usuario de la aplicación para garantizar la correcta visualización de la misma en pantallas con diferentes densidades.px = dp * (dpi / 160)