2

我试图让三个按钮彼此相邻,左一个和右一个是小按钮,中间一个应该填满其余的宽度 - 2x2dp(=margin)。
我编写了以下代码,但它一直将我的右键从屏幕上推开,关于如何解决这个问题的任何想法?可能有一种方法可以授予左侧和右侧的特权?

<RelativeLayout
            android:id="@+id/rl"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_marginBottom="10dp" >

            <Button
                android:id="@+id/bPreviousQuestion"
                android:layout_width="42dp"
                android:layout_height="42dp"
                android:background="#c8c8c8"
                android:text="&lt;"
                android:textColor="#ffffff"
                android:textSize="20dp"
                />

            <Button
                android:id="@+id/bBack"
                android:layout_width="fill_parent"
                android:layout_height="42dp"
                android:layout_toRightOf="@+id/bPreviousQuestion"
                android:background="#c8c8c8"
                android:text="Go Back"
                android:textColor="#ffffff"
                android:textSize="20dp"
                android:layout_marginLeft="2dp"
                android:layout_marginRight="2dp"  />

            <Button
                android:id="@+id/bNextQuestion"
                android:layout_width="42dp"
                android:layout_height="42dp"
                android:layout_toRightOf="@+id/bBack"
                android:background="#c8c8c8"
                android:text="&gt;"
                android:textColor="#ffffff"
                android:textSize="20dp" />
        </RelativeLayout>
4

5 回答 5

3

尝试添加:

android:layout_toLeftOf="@+id/bNextQuestion"

到您的“返回”按钮。在“下一步”中删除这一行:

android:layout_toRightOf="@+id/bBack"

并添加:

android:layout_alignParentRight="true"
于 2012-11-30T17:30:14.770 回答
2

试试这个:

将 {Previous} 设置为左​​对齐父级,宽度为 42dp。

将 {Next} 设置为以 42dp 宽度对齐父级。

将 {Back} 设置为 Prev 的右侧,Next 的左侧,宽度为 fill_parent。

如果我正确理解布局,这应该用后退按钮填充按钮。

于 2012-11-30T17:29:08.327 回答
1

使用LinearLayout而不是RelativeLayout

<LinearLayout
    android:id="@+id/rl"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="10dp"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/bPreviousQuestion"
        android:layout_width="42dp"
        android:layout_height="42dp"
        android:background="#c8c8c8"
        android:text="&lt;"
        android:textColor="#ffffff"
        android:textSize="20dp" />

    <Button
        android:id="@+id/bBack"
        android:layout_width="fill_parent"
        android:layout_height="42dp"
        android:layout_marginLeft="2dp"
        android:layout_marginRight="2dp"
        android:layout_weight="1"
        android:background="#c8c8c8"
        android:text="Go Back"
        android:textColor="#ffffff"
        android:textSize="20dp" />

    <Button
        android:id="@+id/bNextQuestion"
        android:layout_width="42dp"
        android:layout_height="42dp"
        android:background="#c8c8c8"
        android:text=">"
        android:textColor="#ffffff"
        android:textSize="20dp" />
</LinearLayout>
于 2012-11-30T17:29:48.393 回答
0

你的第二个按钮的 layout_width 是“fill_parent”

于 2012-11-30T17:28:27.267 回答
0

对于您的第二个按钮,即中间按钮,您正在使用 android:layout_width="fill_parent"。而不是使用 android:layout_width="42dp",然后你会看到你的第三个

于 2012-11-30T17:29:25.763 回答