0

当我在 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>
4

3 回答 3

2

你也可以改变

android:layout_below="@id/textA"

转文字C

完整的示例如下所示:

<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" />

于 2013-01-06T16:13:27.733 回答
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" />
于 2013-01-06T16:09:18.673 回答
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 的多行。

于 2013-01-07T13:38:52.660 回答