0

我有一个相对布局,里面有两个线性布局,每个布局都有两个文本视图。我希望文本视图水平显示为一行。代码如下:

     <RelativeLayout
        android:id="@+id/linear2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <LinearLayout
            android:id="@+id/txtlinear"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/esms_parentfees_classtext"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

            <TextView
                android:id="@+id/esms_parentfees_classdetais"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
        </LinearLayout>
      <LinearLayout
            android:layout_gravity="center_horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/esms_parentfees_classdetais"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/esms_parentfees_datetext"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

            <TextView
                android:id="@+id/esms_parentfees_datedetais"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
        </LinearLayout>
    </RelativeLayout>
4

4 回答 4

1

关于您的 XML 的注释:

  • 您不能在 LinearLayout 中使用 toRightOf 等
  • 相对布局没有方向

出于某种原因需要显示所有 XML 吗?忽略这一行

<RelativeLayout 
    android:id="@+id/relativeLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/esms_parentfees_classtext"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.5" />

        <TextView
            android:id="@+id/esms_parentfees_classdetais"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.5" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/esms_parentfees_datetext"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.5" />

        <TextView
            android:id="@+id/esms_parentfees_datedetais"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.5" />
    </LinearLayout>

</RelativeLayout>
于 2012-11-20T14:55:24.737 回答
0

如果您需要连续四个文本视图,只需使用其中包含四个文本视图(或表格布局)的线性布局,而不是在相对布局中使用两个线性布局。

看看这个:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignRight="@+id/txtlinear"
    >
   <TextView
        android:id="@+id/esms_parentfees_classtext"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="hi" />

    <TextView
        android:id="@+id/esms_parentfees_classdetais"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="hi" />

    <TextView
        android:id="@+id/esms_parentfees_datetext"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="hi" />

    <TextView
        android:id="@+id/esms_parentfees_datedetais"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="hi" />


</LinearLayout>

或者

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/txtlinear"
 >

<TableRow
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <TextView
        android:id="@+id/esms_parentfees_classtext"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="hi" />

    <TextView
        android:id="@+id/esms_parentfees_classdetais"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="hi" />

    <TextView
        android:id="@+id/esms_parentfees_datetext"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="hi" />

    <TextView
        android:id="@+id/esms_parentfees_datedetais"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="hi" />
</TableRow>

</TableLayout>

或者如果你需要一个包含两个线性布局的相对布局,你可以遵循上面的任何解决方案

于 2012-11-20T15:15:18.203 回答
0

最简单的方法是使外部 RelativeLayout 成为 LinearLayout

 <LinearLayout
    android:id="@+id/linear2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

然后删除任何标签

android:layout_toRightOf="@+id/esms_parentfees_classdetais"

或者,您可以将上面提到的标签更改为

android:layout_below="@+id/esms_parentfees_classdetais"
于 2012-11-20T14:52:40.723 回答
-1
<RelativeLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            >
            <TextView
                 android:id="@+id/esms_parentfees_classtext"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                />
            <TextView
                 android:id="@+id/esms_parentfees_classdetais"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toLeftOf="@+id/esms_parentfees_classtext"
                 />
        </RelativeLayout>
于 2012-11-20T14:57:06.483 回答