0

我有这个线性布局,在线性布局内我有几个文本视图。现在我要做的是在左侧显示信息文本,然后在它旁边显示值,但值应该在最长的信息文本之后对齐。

我看不出如何在线性布局中使用另一个线性布局。

            <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dp"
            android:layout_marginLeft="5dp"
            android:orientation="vertical" >

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#ff00ff"
                android:text="Room:"
                android:textSize="12dp" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#ff00ff"
                android:text="{value}"
                android:textSize="12dp" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#ff00ff"
                android:text="Date:"
                android:textSize="12dp" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#ff00ff"
                android:text="{value}"
                android:textSize="12dp" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#ff00ff"
                android:text="Time:"
                android:textSize="12dp" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#ff00ff"
                android:text="{value}"
                android:textSize="12dp" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#ff00ff"
                android:text="Location"
                android:textSize="12dp" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#ff00ff"
                android:text="{value}"
                android:textSize="12dp" />
        </LinearLayout>

就像一个 html 表格。一个带有信息文本,然后另一个带有值。具有文本值的文本视图应在最长的信息文本之后对齐。

等效的 HTML

<table>
<tr>
<td>Room:</td>
<td>{value}</td>
</tr>
<tr>
<td>Date:</td>
<td>{value}</td>
</tr>
...
</table>

除了放入固定的 dp 宽度之外,是否可以对齐它?

4

4 回答 4

1

像这样的东西,

Room: Value
Date: Value

你可以使用这样的布局,

 <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dp"
            android:layout_marginLeft="5dp"
            android:orientation="vertical" >

     <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dp"
            android:layout_marginLeft="5dp"
            android:orientation="horizontal" >
            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#ff00ff"
                android:text="Room:"
                android:textSize="12dp" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#ff00ff"
                android:text="{value}"
                android:textSize="12dp" />
      </LinearLayout>
     <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dp"
            android:layout_marginLeft="5dp"
            android:orientation="horizontal" >
            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#ff00ff"
                android:text="Date:"
                android:textSize="12dp" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#ff00ff"
                android:text="{value}"
                android:textSize="12dp" />
        </LinearLayout>
     <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dp"
            android:layout_marginLeft="5dp"
            android:orientation="horizontal" >
            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#ff00ff"
                android:text="Time:"
                android:textSize="12dp" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#ff00ff"
                android:text="{value}"
                android:textSize="12dp" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#ff00ff"
                android:text="Location"
                android:textSize="12dp" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#ff00ff"
                android:text="{value}"
                android:textSize="12dp" />
        </LinearLayout>
        </LinearLayout>

如果你想创建一个像 strucutre 这样的表格,那么你应该看看Table Layout。你会在这里找到一个很好的例子

于 2012-12-28T13:47:04.677 回答
1

试试这个代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:background="#0099cc"
    tools:context=".FullscreenActivity" >

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >

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

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="#ff00ff"
                android:text="Room:"
                android:textSize="12dp" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="#ff00ff"
                android:text="{value}"
                android:textSize="12dp" />
        </TableRow>

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

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="#ff00ff"
                android:text="Date:"
                android:textSize="12dp" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="#ff00ff"
                android:text="{value}"
                android:textSize="12dp" />
        </TableRow>

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

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="#ff00ff"
                android:text="Time:"
                android:textSize="12dp" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="#ff00ff"
                android:text="{value}"
                android:textSize="12dp" />
        </TableRow>

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

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="#ff00ff"
                android:text="Location"
                android:textSize="12dp" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="#ff00ff"
                android:text="{value}"
                android:textSize="12dp" />
        </TableRow>
    </TableLayout>

</LinearLayout>
于 2012-12-28T13:48:30.177 回答
0

您可以使用表格布局。为清楚起见,请参阅下面的链接,因为我无法在此处编写整个代码。

http://mobile.tutsplus.com/tutorials/android/android-sdk_table-layout/

于 2012-12-28T13:46:56.977 回答
0

您可以将 textViews 放在 LinearLayout 中,如下所示

        <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="5dp"
                android:layout_marginLeft="5dp"
                android:orientation="vertical" >

    <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:background="#ff00ff"
                    android:text="Room:"
                    android:textSize="12dp" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:background="#ff00ff"
                    android:text="{value}"
                    android:textSize="12dp" />
    </LinearLayout>

    // add  the rest of textviews similarly as above
</LinearLayout>
于 2012-12-28T13:47:06.737 回答