当我在RelativeLayout,'textA','textB'和'textC'中声明3个TextView时。 textC应出现在textB下面。但是在运行时,textC显示在不正确的位置(在屏幕的左上角)。 我不知道textC可以使用android:layout_below到textB。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent" >
<TextView
android:id="@+id/textA"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
android:text="This is TextA : " />
<TextView
android:id="@+id/textB"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/textA"
android:layout_alignBaseline="@id/textA"
android:text="this is textB" />
<TextView
android:id="@+id/textC"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@id/textB"
android:text="This is TextC" />
</RelativeLayout>
答案 0 :(得分:2)
您也可以更改
android:layout_below="@id/textA"
到textC
完整的示例如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent" >
<TextView
android:id="@+id/textA"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
android:text="This is TextA : " />
<TextView
android:id="@+id/textB"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/textA"
android:layout_alignBaseline="@+id/textA"
android:text="this is textB" />
<TextView
android:id="@+id/textC"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textB"
android:layout_below="@+id/textA"
android:text="This is TextC" />
答案 1 :(得分:0)
只需对TextView3
<TextView android:id="@+id/textC" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/textB" android:layout_below="@+id/textA" android:text="This is TextC" />
答案 2 :(得分:0)
它不能对使用alignBaseline到其他元素的元素使用垂直对齐。然后在这种情况下,在'textB'中将alignBaseline更改为alignTop,就像在代码中一样。
<TextView
android:id="@+id/textB"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/textA"
android:layout_alignTop="@id/textA"
android:text="this is textB" />
使用这种方式,它将支持textB的多行。