2012-03-09 9 views
6

Tengo dos actividades que se abren dependiendo de la presencia de la tarjeta SD. Una actividad tiene tres Buttons y TextView y la otra un ImageView, un botón y control de zoom. Cuando cambio la orientación, los botones se revuelven en dirección horizontal. ¿Cómo ir alrededor de esto?Cambios en el diseño de Xml al cambiar la orientación

Mi diseño de la tarjeta SD '

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#1E1E1E" 
    android:orientation="vertical" > 

    <Button 
     android:id="@+id/button_print" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginBottom="44dp" 
     android:background="@drawable/my_button" 
     android:text="@string/print" /> 

    <TextView 
     android:id="@+id/text_SDmissing" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="80dp" 
     android:text="@string/SDmissing" 
     android:textSize="20dp" /> 

    <Button 
     android:id="@+id/button_camera" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_above="@+id/button_print" 
     android:layout_centerHorizontal="true" 
     android:layout_marginBottom="58dp" 
     android:background="@drawable/my_button" 
     android:text="@string/camera" /> 

    <Button 
     android:id="@+id/button_insert" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/text_SDmissing" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="40dp" 
     android:background="@drawable/my_button" 
     android:text="@string/insert" /> 

</RelativeLayout> 
+0

Por favor, nos muestran su archivo (s) diseño xml. –

+1

pls publique su archivo xml. Si necesita cambiar el diseño en función de la orientación, debe configurar el diseño dos para layout-port y layout-land. – deepa

+1

¿Ha intentado proporcionar diferentes diseños para retrato/paisaje? – Luksprog

Respuesta

8

Se puede hacer una carpeta en su proyecto llamado "diseño-tierra" (en el directorio "res"). Allí puede copiar todos sus estilos xml de la carpeta normal de "diseño" y cambiarlos por el modo paisaje. Android usará automáticamente esos diseños para el modo horizontal.

Su proyecto se vería así:

enter image description here

13

Tienes que crear archivos XML para los modos vertical y horizontal y colocarlo en diferentes directorios. El dispositivo seleccionará automáticamente el correcto. Puede utilizar la siguiente estructura de directorios

res/layout/my_layout.xml 
res/layout-land/layout.xml 

Para mayor referencia se puede comprobar: http://developer.android.com/guide/practices/screens_support.html

+0

bien :) otra pregunta mía es cómo usar un diseño para admitir diferentes tamaños de pantalla ... lo que estoy haciendo es que cada vez que reorganizo y ejecuto la aplicación y el control de mi dispositivo, no es lo mismo si ejecuta lo mismo en una aplicación diferente ... – jxgn

+0

Ambos nombres de archivo deben ser iguales. –

Cuestiones relacionadas