toRightOf在Android布局中没有按预期工作

时间:2013-04-03 20:23:09

标签: java android xml

这是我的布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/outerBox"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent" >

<GridLayout
    android:id="@+id/checksHere"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:columnCount="5"
    android:columnWidth="100dp" />

<GridLayout
    android:id="@+id/textHere"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/checksHere"
    android:columnCount="4" />

<Button
    android:id="@+id/submitButton"
    android:layout_width="185dip"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@id/outerBox"
    android:layout_below="@id/textHere"
    android:layout_margin="3dip"
    android:onClick="submit"
    android:text="@string/submit" />

<Button
    android:id="@+id/cancelButton"
    android:layout_width="185dip"
    android:layout_height="wrap_content"
    android:layout_below="@id/textHere"
    android:layout_margin="3dip"
    android:layout_toRightOf="@id/submitButton"
    android:onClick="next"
    android:text="@string/cancel" />

<Button
    android:id="@+id/backButton"
    android:layout_width="185dip"
    android:layout_height="wrap_content"
    android:layout_below="@id/textHere"
    android:layout_margin="3dip"
    android:layout_toRightOf="@id/cancelButton"
    android:onClick="next"
    android:text="test" />

</RelativeLayout>

我有一个相对布局。布局在顶部有两个网格布局,可以在我的java代码中填充文本或检查。它们可以是空白的。然后我有三个按钮。前两个按钮显示在屏幕上就好了。第三个按钮位于第一个按钮的顶部: enter image description here

我将第三个按钮(backButton)改为toRightOf submitButton只是为了看看会发生什么。正如预期的那样,它会在cancelButton之上。我觉得我错过了一个简单的基础,但我无法弄明白。

2 个答案:

答案 0 :(得分:4)

这不一定能解决RelativeLayout的问题,但您总是可以在一个LinearLayout中将这三个按钮组合在一起。这样可以防止按钮重叠。

答案 1 :(得分:0)

我不确定但是在eclipse中进行测试时,将所有android:layout_width="185dip"更改为android:layout_width="wrap_content"以便为我工作的按钮。