在android表格布局中右对齐列

Ank*_*ech 19 android android-tablelayout

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

这是表行的样子:

Admin (2)New
Network (2)New
Run Code Online (Sandbox Code Playgroud)

这应该是这样的:

Admin (2)         New
Network (2)       New
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

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

Coo*_*ter 22

  1. android:stretchColumns ="x",其中x是您要填充的列
  2. android:layout_width ="fill_parent"以确保所有内容都填满屏幕
  3. android:layout_gravity ="right"表示"x"列中的视图组件

示例(伪代码):

<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>
Run Code Online (Sandbox Code Playgroud)


Ram*_*ran 21

在这里你必须这样做

  1. 将表行宽设置为 fill_parent

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

    - - 要么 - -

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