android中3按钮布局的问题

时间:2011-09-25 08:43:25

标签: android android-layout

我在布局中有三个按钮的活动。所有按钮都在底部。我希望按钮是极左,中间和极右。极右和最左边的按钮都很好。但是,中央按钮占据了左右按钮之间的所有空间。但是,我希望中间按钮占用必要的空间而不是所有空间。此外,我无法将imageButton移动到屏幕中间。对这些事情有任何帮助吗?这是我的XML布局文件:

            <?xml version="1.0" encoding="utf-8"?>

            <RelativeLayout
            android:id="@+id/rel"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="@drawable/backgroundnr"
            xmlns:android="http://schemas.android.com/apk/res/android"
            >

            <ImageButton
            android:id="@+id/imageButtons"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/tempText2"
            android:layout_above="@+id/tempText"
            android:gravity="center"
            android:src="@drawable/start"
            android:background="@null"
            android:layout_gravity="center_horizontal"
            >
            </ImageButton>

            <TextView
            android:id="@+id/tempText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Touch to Start"
            android:layout_centerVertical="true"
            android:layout_gravity="center_vertical"
            >
            </TextView>

            <ImageView
            android:id="@+id/bottomlayout"
            android:layout_width="fill_parent"
            android:layout_height="100px"
            android:src="@drawable/bottombar"
            android:layout_alignParentBottom="true"
            >
            </ImageView>

            <Button
            android:id="@+id/profileButtons"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Profile"
            android:drawableTop="@drawable/profiledefault"
            android:gravity = "bottom"
            android:background="#0000"
            android:layout_alignParentBottom="true"
            android:layout_alignLeft="@+id/bottomlayout"
            android:textColor="#FFFFFF"
            android:paddingLeft="10dip"
            android:paddingBottom="5dip"
            >
            </Button>
            <Button
            android:id="@+id/savedButtons"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Saved"
            android:drawableTop="@drawable/favoritesdefault"
            android:gravity = "bottom"
            android:background="#0000"
            android:layout_alignParentBottom="true"
            android:textColor="#FFFFFF"
            android:paddingBottom="5dip"
            android:layout_toRightOf="@+id/profileButtons"
            android:layout_toLeftOf="@+id/recentButtons"
            android:layout_gravity="center_horizontal"
            >
            </Button>
            <Button
            android:id="@+id/recentButtons"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Recent"
            android:drawableTop="@drawable/recentdefault"
            android:gravity = "bottom"
            android:background="#0000"
            android:layout_alignParentBottom="true"
            android:textColor="#FFFFFF"
            android:layout_alignParentRight="true"
            android:paddingRight="10dip"
            android:paddingBottom="5dip"
            >
            </Button>
            </RelativeLayout>

1 个答案:

答案 0 :(得分:3)

使用

android:layout_centerHorizontal="true"

表示你的ImageButton而不是layout_gravity。

并重新排列底部按钮。

不要将leftOf或rightOf用于中间按钮,即“savedButtons”。只需使用

android:layout_centerHorizontal="true"

为它。对于左键“profileButtons”,请使用

android:layout_toLeftOf = "@+id/savedButtons"

右键“recentButtons”使用

android:layout_toRightOf = "@+id/savedButtons"

在此布局中,中间按钮将占据所需的中心空间,剩余的左右区域用于其余按钮。对于3个按钮,每个按钮都需要alignParentBottom

HTH。