屏幕旋转时Android按钮位置会发生变化

时间:2012-08-24 05:36:07

标签: android

Hai所有我在android编程中都是新手......

对于我的应用程序,我使用图像按钮,它已成功安装在设备上。 但是当我旋转屏幕时,所有按钮位置都会发生变化...... 我需要将所有按钮放在屏幕中央.... 这是我的代码......

    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/testText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#FFCC99"
        android:textSize="24dp" />

    <ImageButton
        android:id="@+id/up"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginRight="124dp"
        android:layout_marginTop="80dp"
        android:src="@drawable/up" />

    <ImageButton
        android:id="@+id/left"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_below="@+id/up"
        android:layout_marginRight="200dp"
        android:layout_marginTop="150dp"

        android:src="@drawable/left" />

please help.......

    <ImageButton
        android:id="@+id/right"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_below="@+id/up"
        android:layout_marginRight="50dp"
        android:layout_marginTop="150dp"
        android:src="@drawable/right" />

    <ImageButton
        android:id="@+id/down"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/up"
        android:layout_alignParentRight="true"
        android:layout_marginRight="124dp"
        android:layout_marginTop="80dp"
        android:src="@drawable/down" />

</RelativeLayout>

3 个答案:

答案 0 :(得分:3)

如果您正在为potrait和横向模式创建应用程序,那么您必须制作两种不同的布局,否则您可以通过添加 screenOrientation来限制您的应用程序仅在potrait模式下显示您的应用程序清单文件中的strong>属性

android:name=".ListViewImagesActivity"
        android:label="@string/app_name"
        android:screenOrientation="portrait"

答案 1 :(得分:0)

将您的布局更改为相对布局 - 您还可以为横向和纵向添加不同的布局,以便Android开发人员以更好的方式理解支持多个屏幕http://developer.android.com/guide/practices/screens_support.html

答案 2 :(得分:0)

为横向和纵向模式创建布局xml文件是一种很好的做法。您也可以通过布局更改来操作它,但建议使用两个布局文件。

然后将横向布局文件放在layout-land文件夹中,将其他文件放在layout-port文件夹中。

了解更多信息:Click here for more info from android developer site