更改方向时Xml布局会发生变化

jxg*_*xgn 6 xml layout android orientation

我有两个活动,根据SD卡的存在打开.一个活动有三个ButtonsTextView,另一个是ImageView,一个按钮和变焦控制.当我改变方向时,按钮在水平方向上被扰乱.如何解决这个问题?

我的'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>
Run Code Online (Sandbox Code Playgroud)

cur*_*guy 13

您必须为纵向和横向模式创建单独的XML文件,并将其放在不同的目录中.设备将自动选择正确的设备.您可以使用以下目录结构

res/layout/my_layout.xml   
res/layout-land/layout.xml
Run Code Online (Sandbox Code Playgroud)

如需进一步参考,请访问:http: //developer.android.com/guide/practices/screens_support.html


Mea*_*tje 8

您可以在项目中创建一个名为"layout-land"的文件夹(在"res"目录中).在那里,您可以从普通的"布局"文件夹中复制所有xml样式,并将它们重新设置为横向模式.Android会自动将这些布局用于横向模式.

您的项目如下所示:

在此输入图像描述