我正在尝试获得类似这样的布局:
那是:
TextView
与父级左侧和上方对齐(带边距)。EditText
左侧TextView
,Button
右侧TextView
,基线与Button
对齐。EditText
与父权利对齐(只有右边距)。这是破碎的部分:底部对齐<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="32dp"
android:layout_marginTop="32dp"
android:text="Text:" />
<EditText
android:id="@+id/edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/text"
android:layout_toLeftOf="@+id/button"
android:layout_toRightOf="@+id/text"
android:ems="10" >
<requestFocus />
</EditText>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignBottom="@+id/edit"
android:layout_marginRight="32dp"
android:text="Ok" />
</RelativeLayout>
。无论出于何种原因,它都不起作用。这是我期望工作的代码:
ImageButton
这样就出现了:
发生了什么事?
抱歉,我不确定为什么我更改了此示例,但在我的代码中,我实际上使用的是Button
,而不是EditText
,因此解决方案无法与基线对齐按钮 - {{1}}必须与按钮的底部(或中间,如果可能)对齐。
答案 0 :(得分:4)
试试这个..
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="32dp"
android:layout_marginTop="32dp"
android:text="Text:" />
<EditText
android:id="@+id/edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/text"
android:layout_toLeftOf="@+id/button"
android:layout_toRightOf="@+id/text"
android:ems="10" >
<requestFocus />
</EditText>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/edit"
android:layout_alignBottom="@+id/edit"
android:layout_alignParentRight="true"
android:layout_marginRight="30dp"
android:text="Ok" />
答案 1 :(得分:1)
似乎是一个影响alignBaseline被用作其他孩子的锚点的bug。 https://code.google.com/p/android/issues/detail?id=73697&thanks=73697