Подтвердить что ты не робот

Правый выравнивающий столбец в таблице таблиц 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 должно быть справа в правой части таблицы, как это сделать???

4b9b3361

Ответ 1

Здесь вы должны сделать

  • установите ширину строки таблицы fill_parent

  • и установите android:layout_gravity="right" в текстовое представление, которое вы хотите выровнять прямо в строке таблицы

    ---- или ----

  • добавьте вес в текстовое представление внутри строки таблицы, чтобы они могли согласовать, как вы хотите.

Ответ 2

  • android: stretchColumns = "x" , где x - это столбец, который вы хотите заполнить
  • android: layout_width = "fill_parent" , чтобы обеспечить заполнение экрана.
  • 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>