android-使用设备方向调整布局

时间:2011-12-06 09:30:29

标签: android layout

这是我的布局。但是当我更改设备方向时,虽然我在布局中使用了dp,但我没有得到正确的布局。

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

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="90dp" />

    <TableLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/username"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/Username"
                android:textColor="#000000" >
            </TextView>

            <EditText
                android:id="@+id/editname"
                android:layout_width="230dp"
                android:layout_height="wrap_content" >
            </EditText>
        </TableRow>

        <TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/password"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/Password"
                android:textColor="#000000" >
            </TextView>

            <EditText
                android:id="@+id/editpassword"
                android:layout_width="230dp"
                android:layout_height="wrap_content"
                android:password="true" >
            </EditText>
        </TableRow>
    </TableLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <CheckBox
            android:id="@+id/cb"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <TextView
            android:id="@+id/label"
            android:text="@string/RememberMe"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="#111111"
            android:textStyle="bold"
             >
        </TextView>
    </LinearLayout>

    <Button
        android:id="@+id/login"
        android:layout_width="80dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="@string/Login"
        android:textColor="#000000"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/newuser"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:clickable="true"
        android:drawableLeft="@drawable/signin"
        android:paddingTop="10dp"
        android:text="@string/NotRegistered"
        android:textColor="#000000"
        android:textStyle="bold" >
    </TextView>

    <TextView
        android:id="@+id/forgtpasswd"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:clickable="true"
        android:drawableLeft="@drawable/forgot_password_white_key"
        android:paddingTop="10dp"
        android:paddingBottom="51dp"
        android:text="@string/ForgotPassword"
        android:textColor="#000000"
        android:textStyle="bold" >
    </TextView>
    <ProgressBar
            android:id="@+id/progressbar_Horizontal"
            style="?android:attr/progressBarStyleHorizontal"
            android:layout_width="fill_parent"
            android:layout_height="12dp"
            android:max="100" />

</LinearLayout>

我想根据设备的当前方向更改此布局。我该怎么做?任何帮助将不胜感激!!!

2 个答案:

答案 0 :(得分:2)

我认为你可以找到关于这个主题的很好的讨论,这可以帮助你。例如,这是一个好的:http://groups.google.com/group/android-developers/browse_thread/thread/a640da2a01bdfde5?pli=1

对我来说,重要的是:

  

将肖像放在res / layout中。将景观放入其中   RES /布局土地。将它们命名为相同(例如,main.xml)。

答案 1 :(得分:1)

resource文件夹中为不同尺寸创建布局,例如Layout_largeLayout_large_land,...