2010-03-08 23 views
12

Quiero crear carpetas separadas para mis diseños, como esto en mi directorio de recursos:¿Cómo crear la carpeta layout-small-land?

layout-land 
layout-port 

esto está bien, pero esto:

layout-small-land 
layout-small-port 

o

layout-land-small 
layout-port-small 

Resultados en : 'Nombre del directorio de recursos no válido'

¿Qué da?

Respuesta

5

layout-small-land y layout-small-port son las respuestas correctas, y que compila bien para mí. Quizás hay algo más extraño en su estructura de directorios.

+1

Resulta que mi aplicación estaba orientada para 1.5 en lugar de 1.6. Una vez que cambié el objetivo, compiló bien. Gracias por aclarar que los nombres de las carpetas deberían haber funcionado para mí. – codedeziner

+0

Ah, sí, los sufijos de conjunto de recursos '-pequeño' y' -large' no aparecieron hasta 1.6. – CommonsWare

5

Puede especificar la densidad de pantalla en lugar de un tamaño como grandes o pequeños

Ejemplo:

layout-port-hdpi 
layout-port-ldpi 
layout-port-mdpi 
layout-port-nodpi 

layout-land-hdpi 
layout-land-ldpi 
layout-land-mdpi 
layout-land-nodpi 

Más información en el siguiente enlace:

https://developer.android.com/guide/topics/resources/resources-i18n.html#AlternateResources

Para el uso de grandes , Medio, Pequeño esta es la forma:

res/layout/my_layout.xml   // layout for normal screen size 
res/layout-small/my_layout.xml  // layout for small screen size 
res/layout-large/my_layout.xml  // layout for large screen size 
res/layout-large-land/my_layout.xml // layout for large screen size in landscape mode 
+0

¿por qué hay opciones de orientación de pantalla pequeña/normal/grande? Por cierto, mi objetivo es 1.6 – codedeziner

+0

'large' y' small' son sufijos de conjunto de recursos válidos. Vea la tercera fila (después de los encabezados) de la Tabla 2 en la página que ha vinculado anteriormente. – CommonsWare

+0

editó mi respuesta allí, todas son formas válidas de usar grandes o pequeños, etc. en el nombre de la carpeta –

0

No he encontrado nada más en la web que haga referencia a esta estructura, pero la siguiente publicación de blog muestra un ejemplo donde el autor usa ldpi (y estoy seguro de mdpi y hdpi) en lugar de pequeño, normal y grande (como sugieren los documentos de referencia de Android en línea). Echar un vistazo al siguiente enlace y quizás tratar de esa estructura:

http://android.amberfog.com/?p=276

+0

A mitad de camino de la página aquí: http://developer.android.com/guide/practices/screens_support.html Hay un ejemplo usando layout-large-land.Teniendo en cuenta las opciones pequeña/normal/grande y puerto/tierra, me pregunto por qué no puedo usarlas. – codedeziner

1

Le dará un "invalid resource error" hasta que la carpeta esté vacía. Si lo completa con los archivos .xml (tienen que coincidir exactamente en todas las carpetas layout-<qualifier>), no obtendrá ningún error.

Ejem:

diseño puertos

-> mainscreen.xml

diseño a gran puerto

-> mainscreen.xml

está bien

Cuestiones relacionadas