水平对齐两个按钮

时间:2013-02-18 13:31:17

标签: android android-layout android-xml android-button

我有两个按钮,我想把它们水平放置,因此屏幕会彼此相邻,没有空间,我知道我可以用线性布局和设定重量做但我想要相对布局,因为我已经有了重量在我的XML中,因此将两个权重放在彼此中会有不好的表现。

我试过这个

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/bg_selector" >

    <Button
        android:id="@+id/b_orderMeal_send"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="4dip"
        android:layout_marginRight="4dip"
        android:background="@drawable/button_selector"
        android:clickable="true"
        android:focusable="true"
        android:text="@string/b_send"
        android:textColor="#FFFFFF" />

    <Button
        android:id="@+id/b_orderMeal_cancel"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerHorizontal="true"
        android:layout_marginLeft="4dip"
        android:layout_marginRight="4dip"
        android:background="@drawable/button_selector"
        android:clickable="true"
        android:focusable="true"
        android:text="@string/b_cancel"
        android:textColor="#FFFFFF" />
</RelativeLayout>

但只是取消按钮出现了,这是因为我使用了“填充父”,请问有什么解决方案?

2 个答案:

答案 0 :(得分:16)

试试这个

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <Button
        android:layout_weight="1"
        android:id="@+id/button1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="Button" />
     <Button
           android:layout_weight="1"
        android:id="@+id/button2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="Button" />

</LinearLayout>

答案 1 :(得分:4)

尝试添加到您的代码

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/bg_selector" >


    <Button
            android:id="@+id/b_orderMeal_send"

           android:layout_toLeftOf="@+id/view"
    ....
    />

     <View 
            android:id="@+id/view"
            android:layout_height="1dp"
            android:layout_width="0dp"
            android:layout_centerHorizontal="true"
            />

     <Button
            android:id="@+id/b_orderMeal_cancel"

            android:layout_toRightOf="@+id/view"
    ...
    />
</RelativeLayout>