Cuando rotamos una aplicacion en Android pueden ocurrir tres cosas con respecto al layout que se muestra

  1. Se muestra el mismo layout pero organizado para pantallas horizontales. Esto lo hace Android de manera automática lo cual es un gran riesgo porque algunos componentes pueden quedar ocultos y nuestra aplicación no responderá de manera adecuada.
  2. Se muestra un layout personalizado para pantallas horizontales. Esto se hace creando la carpeta layout-land en la carpeta res del proyecto. Ahi crean un xml a su gusto y se aseguran que todos los componentes este visibles. Recuerden usar los mismos ids que en la version horizontal porque la clase java que maneja ambos layout es la misma.
  3. Prohibir el bloqueo de pantalla y que al girar el telefono quede el mismo layout que se cargo en forma vertical.

Para realizar el punto (3) deben agregar esta linea en cada actividad (en el manifiesto) que no quieren que giren.

android:screenOrientation="portrait"

Una actividad en el manifiesto quedara asi:

<activity android:name="com.demo.lay_main"
android:label="@string/app_name"
android:screenOrientation="portrait"
</activity>