在android表格布局中右对齐列

时间:2012-10-15 05:52:05

标签: android android-tablelayout

我想绘制一个表格,其中最后一列应位于表格的最右侧。

这就是表格行的样子:

Admin (2)New
Network (2)New

这应该是这样的:

Admin (2)         New
Network (2)       New

XML:

<?xml version="1.0" encoding="utf-8"?>
<!-- row.xml -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="45dp"
    android:gravity="center" android:background="@color/list_bg">

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

        <TableRow>



            <ImageView android:id="@+id/t1" android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

            <TextView android:id="@+id/t2" android:typeface="normal"
                android:singleLine="true" android:textSize="14sp" android:textStyle="normal"
                android:layout_width="wrap_content" android:textColor="#000000"
                android:layout_height="wrap_content" />
            <TextView android:id="@+id/t10" android:typeface="normal"
                android:singleLine="true" android:text=" " android:textSize="14sp"
                android:textStyle="normal" android:layout_width="wrap_content"
                android:textColor="#000000" android:layout_height="wrap_content" />
            <TextView android:id="@+id/t4" android:typeface="normal"
                android:visibility="gone" android:singleLine="true" android:text="("
                android:textSize="14sp" android:textStyle="normal"
                android:layout_width="wrap_content" android:textColor="#000000"
                android:layout_height="wrap_content" />
            <TextView android:id="@+id/t5" android:typeface="normal"
                android:visibility="gone" android:singleLine="true"
                android:textSize="14sp" android:textStyle="normal"
                android:layout_width="wrap_content" android:textColor="#000000"
                android:layout_height="wrap_content" />
            <TextView android:id="@+id/t6" android:typeface="normal"
                android:visibility="gone" android:singleLine="true" android:text=")"
                android:textSize="14sp" android:textStyle="normal"
                android:layout_width="wrap_content" android:textColor="#000000"
                android:layout_height="wrap_content" />
            <ImageView android:id="@+id/t3" android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
            <TextView android:id="@+id/t7" android:typeface="normal"
                android:visibility="visible" android:singleLine="true" android:text="New"
                android:textSize="14sp"
                android:textStyle="normal" android:layout_width="wrap_content"
                android:textColor="#000000" android:layout_height="wrap_content" />

        </TableRow>

    </TableLayout>

</RelativeLayout>

在这个xml中t7应该在表的最右边,怎么做呢???

2 个答案:

答案 0 :(得分:21)

  1. android:stretchColumns =“x”其中x是您要填充的列
  2. android:layout_width =“fill_parent”以确保所有内容都填满屏幕
  3. 对于“x”列中的视图组件,
  4. android:layout_gravity =“right”
  5. 示例(伪代码):

    <TableLayout
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:stretchColumns="1">
    
        <TableRow>
            <TextView android:text="Left Column" />
            <TextView android:layout_gravity="right|center_vertical" android:text="Right Adjusted Column" />
        </TableRow>
    
    </TableLayout>
    

答案 1 :(得分:20)

你必须这样做

  1. 将表格行宽设置为fill_parent

  2. 并将android:layout_gravity="right"设置为要将其与表格行对齐的textview

    ----或----

    1. 将权重添加到表格行内的textview中,以便它们可以根据您的需要进行对齐。