我有两个活动,根据SD卡的存在打开.一个活动有三个按钮和一个TextView,另一个活动有一个
ImageView,一个按钮和缩放控件.当我改变方向时,按钮在水平方向上被扰乱.怎么绕过这个?
My ‘SD’ card layout
<?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>
解决方法
您必须为纵向和横向模式创建单独的XML文件,并将其放在不同的目录中.设备将自动选择正确的设备.您可以使用以下目录结构
res/layout/my_layout.xml res/layout-land/layout.xml
如需进一步参考,您可以查看:
http://developer.android.com/guide/practices/screens_support.html