2012-08-31 15 views
17

he encontrado varios values carpetas en mi carpeta de res:tamaño de la pantalla androide, los valores-V11, V14-valores

xlarge screens are at least 960dp x 720dp 
large screens are at least 640dp x 480dp 
normal screens are at least 470dp x 320dp 
small screens are at least 426dp x 320dp 
res/values-normal/ == res/values-v11/ ??? 
res/values-xlarge/ == res/values-v14/ ??? 

Estoy en lo cierto? ¿O necesito crear otra carpeta llamada values-xlarge, values-normal?

Respuesta

49

values-v11 es los valores de la versión de la API 11, y values-v14 es los valores de la versión API 14.

Vale la pena indicar que es decir values-v11 se utilizará para API 11 y superior, a menos que haya otra carpeta que tiene una versión más alta. Por ejemplo, si tienes values-v11 y values-v14 carpetas, luego values-v11 y se utilizará en las API 11, 12, 13, pero en la API de 14 y más alto, el contenido de values-v14 será utilizado

+3

Y si tuviera 'values',' values-v11' y 'values-v16', y si borrase todos excepto' values', ¿daría lugar a un error, o todas las versiones de API tomarían el mismo carpeta de estilos? –

+3

En ese caso, todas las versiones de API tomarán el directorio 'valores'. – userM1433372

+7

Esto no es totalmente exacto. Debe ser values-v11 is values ​​for> = API version 11, hasta la próxima versión definida. En este ejemplo values-v11 coincidirá con API 11-15 y values-v16 wil match> = API 16 – Uipko

8

No, esta "ecuación" no es correcto:

res/values-normal/ == res/values-v11/ ??? 
res/values-xlarge/ == res/values-v14/ ??? 

xlarge define tamaño de la pantalla (por lo que estos valores se utilizan en el dispositivo con pantalla de búsqueda de xlarge requisitos) mientras v14 determina versión API (Ice Cream Sandwitch - see here). No se garantiza (ni se asume) que todos los dispositivos xlarge tengan que ejecutar v14 API o que cada dispositivo ICS tenga pantalla xlarge.

+3

Caso de ejemplo: Galaxy S II es una pantalla 'grande', y puede tener' v9', 'v10',' v14', o 'v15'. – Eric

+1

En general, si puede plantar firmware personalizado, la versión de API puede ser cualquier cosa que pueda usar, sin embargo, no puede cambiar las especificaciones de hardware tan fácilmente. –

3

v11 en los valores-v11 es clasificatorio para Android sdk versión v11.

Eche un vistazo a http://developer.android.com/guide/topics/resources/providing-resources.html para obtener una descripción detallada de cómo Android admite recursos para diferentes versiones de sdk, pantallas, idiomas u otras configuraciones de dispositivos.

http://developer.android.com/guide/practices/screens_support.html contiene una explicación más detallada sobre el soporte de múltiples dimensiones de pantalla.

+0

¿Cómo puedo definir valores para pre-ICS y valores para ICS + ??? ¿Debo especificar cada plataforma de forma independiente? o values-v10 funcionará desde GB onwars? –

+1

Coloque todos sus recursos pre-ICS en el directorio 'values' y coloque todos sus recursos de ICS + en el directorio 'values-v14'. v1-v13 se asignará al directorio 'values' y v14 + se asignará al directorio 'values-v14'. Puede usar el calificador de versión en todos los directorios de recursos. Entonces layout-v14 contendrá todos los archivos de diseño v14 +. – userM1433372

+0

¡Debería hacer esto en una pregunta independiente, para que pueda marcarlo como una respuesta válida! –

Cuestiones relacionadas