表格布局列文本右对齐

时间:2013-07-25 13:09:29

标签: android android-layout android-tablelayout

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>

1 个答案:

答案 0 :(得分: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>