2012-09-04 15 views
5

Mi aplicación tiene diferentes diseños y estilos para pantallas xlarge. Esto es importante porque en los teléfonos solo se usa en retrato y en tabletas, solo se usa en paisaje.¿Por qué una tableta Android 2.3.3 de 7 pulgadas usa recursos de xlarge?

Un usuario me contactó hace unos días porque desde que publiqué la actualización con los diseños de las tabletas no puede ver algunos de los objetos en mi actividad principal (antes de esta actualización solo tenía diseños de retrato, también en tabletas) . Él usa una tableta de 7 pulgadas con Android 2.3.3 y por algún motivo extraño está utilizando los diseños y estilos de los directorios xlarge, incluso aunque debería usar los diseños y estilos predeterminados.

Lo probé en el emulador y tuve el mismo problema. Luego cambié solo la versión de Android a 3.1 (no cambiaba el ancho, alto y densidad) y funcionó como se esperaba: se usaron los diseños predeterminados.

No quiero utilizar calificadores de versión (layout-xlarge-v13) porque los usuarios con versiones antiguas de Android que tengan una pantalla xlarge obtendrán los diseños incorrectos. Para Android 3.2 y versiones posteriores, podría usar sw720dp, pero las versiones anteriores no usarán esto, por lo que el problema persiste.

Puedo decir en tiempo de ejecución que el dispositivo no es lo suficientemente grande para los diseños xlarge, pero ¿qué puedo hacer en esa situación? ¿Hay alguna manera de hacer que use los recursos predeterminados?

+1

El emulador de Android 2.3.3 no estaba configurado correctamente para tabletas, porque Android 2.3.3 no se diseñó para tabletas. Esta es una limitación conocida con esa versión del emulador. – CommonsWare

+0

¿Podemos ver exactamente cómo se ve la estructura de su proyecto? Específicamente la estructura/res ... – LuxuryMode

+1

Además, ¿esta tableta de 7 pulgadas se refiere al Samsung Galaxy Tab por casualidad? – LuxuryMode

Respuesta

1

Android no da su bendición a ninguna tableta de 7 pulgadas con Gingerbread o menos desde que se lanzó Honeycomb. Esto significa que su dispositivo debe ser antiguo o no compatible con CTS. Está viendo un grupo extremadamente pequeño de dispositivos que son: API nivel 7-10 (aproximadamente), 7-10 pulgadas de tamaño, que viven fuera del ecosistema principal de Android.

Si desea admitir dichos dispositivos, le recomiendo que haga layout-large-v7 y layout-large-v11. Suponga que estas tabletas no estándar seleccionarán la primera, y el diseño para pantallas de 1024x600 píxeles de baja o mediana densidad.

+0

No puedo probar en un dispositivo, pero el emulador eligió el diseño grande cuando lo agregué. Así que ahora tengo la mayoría de mis diseños en la carpeta predeterminada, anulo algunos en layout-xlarge, y copié los archivos que sobrescribo de la carpeta predeterminada a layout-large. De esta manera, las tabletas de 7 pulgadas tienen el mismo aspecto que los teléfonos y no usan los recursos de xlarge. Gracias por el consejo. –

Cuestiones relacionadas