Android 3.2 incluye nuevas herramientas para admitir dispositivos con una amplia gama de tamaños de pantalla. Un resultado importante es un mejor soporte para un nuevo tamaño de pantalla; lo que normalmente se llama una tableta de "7 pulgadas". Esta versión también ofrece varias API nuevas para simplificar el trabajo de los desarrolladores al ajustarse a diferentes tamaños de pantalla.
La resolución es la cantidad real de píxeles disponibles en la pantalla, la densidad es la cantidad de píxeles que aparecen dentro de un área constante de la pantalla y el tamaño es la cantidad de espacio físico disponible para mostrar su interfaz. Estos están interrelacionados: aumentan la resolución y la densidad juntas, y el tamaño permanece más o menos igual. Esta es la razón por la cual la pantalla de 320x480 en un G1 y la pantalla de 480x800 en un Droid tienen el mismo tamaño de pantalla: la pantalla de 480x800 tiene más píxeles, pero también es de mayor densidad.
Para eliminar los cálculos de tamaño/densidad de la imagen, el marco de Android funciona siempre que sea posible en términos de unidades "dp", que se corrigen por densidad. En las pantallas de densidad media ("mdpi"), que corresponden a los teléfonos Android originales, los píxeles físicos son idénticos a los de dp; las dimensiones de los dispositivos son 320x480 en cualquier escala. Un teléfono más reciente podría tener dimensiones de píxeles físicos de 480x800 pero ser un dispositivo de alta densidad. El factor de conversión de hdpi a mdpi en este caso es 1,5, por lo que para los propósitos de un desarrollador, el dispositivo tiene 320x533 en dp.
Android ha incluido soporte para tres "cubos" de tamaño de pantalla desde 1.6, en función de estas unidades "dp": "normal" es actualmente el formato de dispositivo más popular (originalmente 320x480, más recientemente de mayor densidad 480x800); "pequeño" es para pantallas más pequeñas y "grande" es para pantallas "sustancialmente más grandes". Los dispositivos que caen en el grupo "large" incluyen el Dell Streak y el Samsung Galaxy Tab original de 7". Android 2.3 introdujo un nuevo tamaño de cubo "xlarge", en preparación para las tabletas de aproximadamente 10" (como Motorola Xoom) para las que se diseñó Android 3.0.
Las definiciones son:
Las muy pantallas grandes (x-large) tienen al menos 960 dp x 720 dp.
las pantallas grandes (large) tienen al menos 640 dp x 480 dp.
las pantallas normales (Normal) son al menos 470dp x 320dp.
las pantallas pequeñas (small) tienen al menos 426 dp x 320 dp. (Actualmente, Android no admite pantallas más pequeñas que esta).
Aquí hay algunos ejemplos más de cómo funciona esto con pantallas reales:
Una pantalla QVGA es de 320x240 ldpi. La conversión a mdpi (un factor de escala de 4/3) nos da 426 dp x 320 dp; esto coincide con el tamaño mínimo anterior para el depósito de pantalla pequeña.
La Xoom es una tableta típica de 10” con una pantalla de 1280x800 mdpi. Esto lo coloca en el cubo de pantalla grande.
Dell Streak es una pantalla de 800x480 mdpi. Esto lo coloca en el fondo del cubo de gran tamaño.
Una tableta típica de 7” tiene una pantalla de 1024x600 mdpi. Esto también cuenta como una pantalla grande.
El Samsung Galaxy Tab original es un caso interesante. Físicamente es una pantalla de 1024x600 7” y por lo tanto clasificada como “grande”. Sin embargo, el dispositivo configura su pantalla como hdpi, lo que significa que después de aplicar el factor de escala de ⅔ adecuado, el espacio real en la pantalla es de 682 dp x 400 dp. Esto en realidad lo saca del cubo "grande" y lo coloca en un tamaño de pantalla "normal". La pestaña en realidad informa que es "grande"; esto fue un error en el cálculo del marco del tamaño de ese dispositivo que hicimos. Hoy ningún dispositivo debería enviarse así.