2012-05-11 21 views
7

Estoy diseñando una aplicación y me preguntaba cómo hacer un diseño diferente en modo apaisado. Creé una carpeta en la res llamada "layout-land" y creé un archivo xml pero no funciona cuando ejecuto el emulador. Intenté llamarlo "principal" pero dice que ya existe, lo que hace, pero en la carpeta "diseño". Si lo llamo algo diferente, ¿necesito cambiar algo en el manifiesto? ¡Gracias por la ayuda!diseño de paisaje de Android

+0

no lo que está haciendo es simplemente revisar la ortografía de la carpeta y los archivos xml otra vez.http: //developer.android.com/guide/topics/resources/providing-resources.html#Compatibility – Akram

+0

No exactamente su pregunta . Pero Android cambia automáticamente el diseño en el cambio de orientación hasta que no anule en Configuración en su actividad. –

Respuesta

10

Solo para aclarar, si se encuentra en modo horizontal o vertical En primer lugar, Android busca el archivo de diseño en el directorio -land, si no se encuentra, verifica el directorio predeterminado layout. Sus archivos deben ser nombrados como sigue, y será cargado por el sistema en función de la configuración en tiempo de ejecución actual del dispositivo:

res/layout/main.xml 
res/layout-land/main.xml 

Comprobar la documentación sobre providing resources para más información.

+1

Gracias, como ya he dicho, cuando hago clic con el botón secundario en la carpeta layout-land y hago clic en el nuevo archivo xml de Android, no puedo nombrarlo "principal", dice que ya existe, pero no en esa carpeta –

+0

Hola rsay3, ¿Alex realmente resolvió tu problema? Estoy haciendo los tutoriales de TheNewBoston y tengo el mismo problema. Tengo directorios de diseño y disposición de terrenos. layout-land no está vacío, y si miro la carpeta en eclipse, se correlaciona correctamente con el directorio layout-land. Todavía tengo el problema. Podría ser un error de eclipse. Tuve que resolverlo copiando el archivo de diseño a layout-land y refrescante eclipse. – Kurt

+0

@Kurt. ¿Qué mensaje de error estás recibiendo en realidad? –

1

¿Quieres una estructura de carpetas como esto:

res\layout\main.xml 
res\layout-land\main.xml 

Cada uno de estos diseños deben contener los mismos elementos, pero re-organizó, por ejemplo, si tiene un botón con android:id="@+id/button1" en el paisaje vertical, tendrá que dar un botón equivalente en modo horizontal con el mismo nombre.

1

En primer lugar debe escuchar los cambios confguración añadiendo a su manifiesta

android:configChanges="orientation" 

A continuación, puede anular esta función y utilizar setContentView

public void onConfigurationChanged(Configuration newConfig) 
+0

¿qué verificar en esta función? – PankajAndroid

Cuestiones relacionadas