0

在 TableLayout 中,我必须将第一列中的文本向右对齐,将第三列文本向左对齐(我的第二列只是用于间距的虚拟列)。对齐是问题。如果第二列中的内容不适合一行,我也有一个担忧,即如何使其在第二行继续,因为现在如果我在第二列中输入大文本,现在它正试图适合一行并退出手机屏幕宽度。

<?xml version="1.0" encoding="utf-8"?>
<TableLayout android:id="@+id/widget35"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical" android:stretchColumns="0,2"
xmlns:android="http://schemas.android.com/apk/res/android">
<TableRow android:id="@+id/widget43" android:layout_width="fill_parent"
    android:layout_height="wrap_content" android:orientation="horizontal">
    <LinearLayout android:id="@+id/widget33"
        android:orientation="horizontal" android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:background="@color/red">
        <TextView android:id="@+id/widget36" android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:text="TextView is in Rightassaasas"
            android:layout_gravity="top|right" />
    </LinearLayout>
    <LinearLayout android:id="@+id/widget33"
        android:layout_width="5dip" android:layout_height="wrap_content"
        android:background="@color/white">
        <TextView android:id="@+id/widget36" android:layout_width="2dip"
            android:layout_height="wrap_content" />
    </LinearLayout>
    <LinearLayout android:id="@+id/widget37"
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:background="@color/green">
        <TextView android:id="@+id/widget38" android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:text="TextView"
            android:layout_gravity="left" />
    </LinearLayout>
</TableRow>
<TableRow android:layout_width="fill_parent"
    android:layout_height="wrap_content" android:orientation="horizontal">
    <LinearLayout android:orientation="horizontal"
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:background="@color/red">
        <TextView android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:text="TextView"
            android:layout_gravity="right" />
    </LinearLayout>
    <LinearLayout android:layout_width="5dip"
        android:layout_height="wrap_content" android:background="@color/white">
        <TextView android:layout_width="2dip" android:layout_height="wrap_content" />
    </LinearLayout>
    <LinearLayout android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:background="@color/green">
        <TextView android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:text="TextView"
            android:layout_gravity="left" />
    </LinearLayout>
</TableRow>

4

1 回答 1

0

您的布局似乎不必要地复杂,您实际上只需要一个具有正确设置重力的两个 TextView 的 LinearLayout。您可以使用 layout_margin 为“中间列”创建间距,如下所示:

<TableRow android:id="@+id/widget43" android:layout_width="fill_parent"
    android:layout_height="wrap_content" android:orientation="horizontal">
    <LinearLayout android:id="@+id/widget33"
        android:orientation="horizontal" android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <TextView android:id="@+id/widget36" android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:text="TextView is in Rightassaasas"
            android:layout_gravity="top|right" android:gravity="right" android:layout_marginRight="5dp" android:background="@color/red" />
        <TextView android:id="@+id/widget38" android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:text="TextView"
            android:layout_gravity="left" android:gravity="left" android:layout_marginLeft="5dp" android:background="@color/green" />
    </LinearLayout>
</TableRow>
于 2013-07-25T13:26:15.590 回答