web-dev-qa-db-ja.com

Androidテーブルレイアウトで列を右揃え

最後の列がテーブルの最も右側にあるテーブルを描画したいと思います。

これはテーブル行がどのように見えるかです:

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はテーブルの右端にあるはずです。これを行う方法は???

20
Ankit HTech

ここであなたはしなければなりません

  1. テーブルの行幅をfill_parentに設定します

  2. Android:layout_gravity="right"を、テーブルの行に右揃えするテキストビューに設定します

    ----または----

  1. テーブルの行内のテキストビューにウェイトを追加して、希望どおりに配置できるようにします。
20
Ram kiran
  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>
21
Cookster