Pregunta

Además de la carpeta general de res/layout Tengo un res/layout-v3 carpeta para la compatibilidad con Android 1.5, que tiene problemas con algunos diseños RelativeLayout.

Funciona perfectamente con todos los teléfonos y las versiones de emuladores probados por lo lejos. Excepto, 2.1 (emulador y Nexus One). Ellos eligen para mostrar el Android 1.5 diseño (res/layout-v3) en lugar del res/ layout por defecto.

¿Alguien más puede confirmar eso? ¿Es esto un error de sistema operativo Android? Si es así, donde es el mejor lugar para presentar el informe de error?


ACTUALIZACIÓN:

Después de leer en https://developer.android.com/guide /practices/screens_support.html#qualifiers de nuevo (gracias Marcos por la pista), especialmente esta parte

  

Los recursos que son para uso exclusivo en una   API específica de nivel o superior. por   ejemplo, si su aplicación es   diseñado para funcionar tanto con Android 1.5   (API nivel 3) y Android 1.6 (API   Nivel 4 y superior), se puede utilizar el   calificador v4 para etiquetar los recursos que deben ser excluidos cuando su   aplicación se ejecuta en Android 1.5   (API Nivel 3).

he cambiado de orden de disposición de tener

  • res / layout-v3 (para Android 1.5 only -> esto era una suposición errónea de que hice)
  • res / layout (para cualquier otra cosa)

a mi nueva configuración de tener:

  • res / layout-v4 (para Android 1.6 y superior)
  • res / layout (para cualquier otra cosa -> en este caso esto sería Android 1.5 solamente)

Si entiendo la documentación arriba a la derecha y si mis supuestos en los paréntesis son correctos esta vez debería funcionar ahora. Sin embargo, el resultado es el siguiente:

  • Android 1.5 está utilizando res / layout -> Aceptar
  • Android 1.6 está utilizando res / layout-v4 -> Aceptar
  • Android 2.0 está utilizando res / layout -> NO OK
  • Android 2.1 está utilizando res / layout-v4 -> Aceptar

¿Por qué es Android 2.0 (tanto en el emulador y Motorola Milestone) no recoger la carpeta de recursos de diseño correcto?

Lo he comprobado luego de nuevo con 2.0.1 y parece que funciona allí. Así que parece que hay un error en 2.0, que fue resuelto en 2.0.1

Pero ahora la cosa más rara: con el fin de hacer que de alguna manera se ejecutan en 2,0 copié la res / layout-v4 carpeta para res / layout-v5 para obligar a Android 2.0 el uso de este recurso diseño. No funcionó. Pero entonces traté de copiarlo en res / layout-V6 (que se supone que es Android 2.0.1) y listo todo el repentino que trabaja con 2.0. ¡Muy extraño! Pero espero que esta solución ayudará a algunas otras personas por ahí.

¿Fue útil?

Solución

He probado varios dispositivos y emuladores (aunque no muy a fondo), y parece que la carpeta de recurso seleccionado es el que tiene el versión superior <= versión del dispositivo .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top