Cuando se gira el dispositivo, Android recarga la actividad y busca el layout más adecuado según la orientación actual. Si solo existe un layout (el de portrait), la interfaz puede quedar mal distribuida en horizontal.


Crear un layout alternativo para landscape
Paso 1: Crear la carpeta layout-land
En la vista de proyecto, dentro de la carpeta res/, creamos una nueva carpeta llamada layout-land. Android la utilizará automáticamente cuando el dispositivo esté en orientación horizontal.


Paso 2: Copiar el XML del layout
Copiamos el fichero XML del layout vertical (activity_main.xml) a la nueva carpeta layout-land.

Paso 3: Modificar el layout para landscape
Modificamos el layout copiado para aprovechar mejor el espacio horizontal. Por ejemplo, usando un TableLayout con stretchColumns="*" para distribuir los botones en dos columnas.



Resultado
Android selecciona automáticamente el layout correcto sin necesidad de escribir código adicional: usa layout/ para portrait y layout-land/ para landscape.


Convenciones de carpetas
Las carpetas de recursos alternativos pueden combinar calificadores de tamaño y orientación:
| Carpeta | Descripción |
|---|---|
layout-small |
Pantallas pequeñas |
layout-normal |
Pantallas normales |
layout-large |
Pantallas grandes |
layout-xlarge |
Pantallas extra grandes |
layout-land |
Orientación landscape |
layout-large-land |
Pantallas grandes en landscape |


