android中的相对布局问题

时间:2011-08-30 08:25:21

标签: android android-layout android-resolution

在我的应用程序中,我使用相对布局进行设计。在一项活动中,我在屏幕底部有四个按钮。我的xml代码(Land scape)不适合所有设备屏幕。它在按钮之间有更多的空间,如图所示。如何设计适合所有分辨率屏幕(横向)的布局。

布局图片是: enter image description here

我的xml:

<RelativeLayout android:id="@+id/relativeLayout1"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:background="#0000FF"
xmlns:android="http://schemas.android.com/apk/res/android">


<RelativeLayout android:layout_width="fill_parent"
    android:layout_gravity="bottom" android:layout_alignParentBottom="true"
    android:background="@drawable/applicarion_bar" android:layout_height="wrap_content"
    android:id="@+id/relativeLayout4">

        <ImageButton android:id="@+id/homeimageButton2"
            android:layout_alignParentLeft="true"
            android:layout_width="wrap_content" android:layout_height="wrap_content"
            android:background="@drawable/festival_btn" />

        <ImageButton android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/homeimageButton2"
            android:layout_marginLeft="60dp"
            android:layout_width="wrap_content" android:background="@drawable/search_btn"
            android:id="@+id/homeimageButton3"></ImageButton>
        <TextView android:id="@+id/homecalendar4" android:text="MAR 20"
            android:layout_toRightOf="@+id/homeimageButton3"
            android:gravity="center"
            android:textSize="10dp"
            android:layout_marginLeft="60dp"
            android:layout_width="wrap_content" android:layout_height="wrap_content"
            android:background="@drawable/calendar_btn" />
        <ImageButton android:id="@+id/homeimageButton5"
            android:layout_alignParentRight="true"
            android:layout_marginLeft="10dp"
            android:layout_width="wrap_content" android:layout_height="wrap_content"
            android:background="@drawable/favorite_btn" />

</RelativeLayout>

3 个答案:

答案 0 :(得分:1)

将relativeLayout4替换为

    <LinearLayout android:id="@+id/put_id_of_ll"
        android:orientation="horizontal" android:background="#012C58"
        android:paddingLeft="4.0dip" android:paddingTop="5.0dip"
        android:paddingRight="4.0dip" android:paddingBottom="1.0dip"
        android:layout_width="fill_parent" android:layout_height="wrap_content"
        android:layout_alignParentBottom="true">
              <ImageButton android:id="@+id/homeimageButton2"
                android:layout_width="0.0dip"
                android:text="ImageButton"
                android:background="@drawable/festival_btn"
                android:layout_weight="1.0"
                android:layout_height="wrap_content"
                android:padding="10dp"
                android:layout_marginBottom="3dip"
                android:layout_marginLeft="2dip" />
            <ImageButton android:id="@+id/homeimageButton3"     
android:background="@drawable/search_btn"
                android:layout_width="0.0dip"
                android:text="btn2"
                android:layout_weight="1.0"
                android:layout_height="wrap_content"
                android:padding="10dp"
                android:layout_marginBottom="3dip"
                android:layout_marginLeft="2dip" />
            <TextView android:id="@+id/homecalendar4" android:text="MAR 20"
                android:layout_width="0.0dip"
                android:layout_weight="1.0"
                android:layout_height="wrap_content"
                android:padding="10dp"
                android:layout_marginBottom="3dip"
                android:layout_marginLeft="2dip" />
            <ImageButton android:id="@+id/homeimageButton5"
                android:layout_width="0.0dip"
                android:text="btn4"
                android:background="@drawable/favorite_btn"
                android:layout_weight="1.0"
                android:layout_height="wrap_content"
                android:padding="10dp"
                android:layout_marginBottom="3dip"
                android:layout_marginLeft="2dip" />
        </LinearLayout>

它会起作用。

快乐编码:)

答案 1 :(得分:0)

使用线性布局而不是相对布局,使用下面的代码

<RelativeLayout android:id="@+id/relativeLayout1"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:background="#0000FF"
xmlns:android="http://schemas.android.com/apk/res/android">


<LinearLayout android:layout_width="fill_parent"
    android:layout_gravity="bottom" android:orientation="horizontal"
    android:background="@drawable/applicarion_bar" android:layout_height="wrap_content"
    android:id="@+id/relativeLayout4">

        <ImageButton android:id="@+id/homeimageButton2"
            android:layout_alignParentLeft="true"
            android:layout_width="wrap_content" android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@drawable/festival_btn" />

        <ImageButton android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/homeimageButton2"
            android:layout_weight="1"
            android:layout_marginLeft="60dp"
            android:layout_width="wrap_content" android:background="@drawable/search_btn"
            android:id="@+id/homeimageButton3"></ImageButton>

        <TextView android:id="@+id/homecalendar4" android:text="MAR 20"
            android:layout_toRightOf="@+id/homeimageButton3"
            android:gravity="center"
            android:textSize="10dp"
            android:layout_marginLeft="60dp"
            android:layout_weight="1"
            android:layout_width="wrap_content" android:layout_height="wrap_content"
            android:background="@drawable/calendar_btn" />

        <ImageButton android:id="@+id/homeimageButton5"
            android:layout_alignParentRight="true"
            android:layout_marginLeft="10dp"
            android:layout_weight="1"
            android:layout_width="wrap_content" android:layout_height="wrap_content"
            android:background="@drawable/favorite_btn" />

</LinearLayout>

</RelativeLayout>

答案 2 :(得分:0)

尝试使用线性布局,并为所有视图赋予相同的权重。