Android 2.1 ERROR: usos res / layout-v3 en lugar de res / layout
-
22-09-2019 - |
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í.
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 .