Как я могу создать TableLayout с 4 столбцами? - PullRequest
1 голос
/ 25 сентября 2010

У меня проблемы с созданием макета таблицы из 4 столбцов, расположенных горизонтально.

Я хочу, чтобы моя строка выглядела следующим образом:

AAPL |200,00 |Разделитель изображений |1,53 (+1,5%)

Я хочу, чтобы 200,00 были выровнены по правому краю, а также 1,53 (+1,5%).

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="fill_parent"
    android:background="@drawable/stocks_gradient" android:orientation="horizontal">
    <TableLayout android:layout_width="wrap_content"
        android:layout_toLeftOf="@+id/priceText" android:layout_height="wrap_content"
        android:id="@+id/TableLayout01">
        <TableRow android:layout_width="wrap_content"
            android:layout_below="@+id/nameText" android:id="@+id/TableRow01"
            android:layout_height="wrap_content"></TableRow>
        <TextView android:id="@+id/nameText" android:layout_height="wrap_content"
            android:padding="5dip" android:layout_alignParentLeft="true"
            android:text="Symbol" android:textStyle="bold" android:textSize="24sp"
            android:layout_width="100dp" android:textColor="#4871A8" />
        <TextView android:id="@+id/priceText" android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:padding="5dip"
            android:layout_toRightOf="@+id/nameText" android:gravity="right"
            android:text="100" android:textStyle="bold" android:textSize="24sp"
            android:textColor="#4871A8" />
        <ImageView android:layout_toLeftOf="@+id/changeText"
            android:id="@+id/verticalDivider" android:background="@drawable/vertical_divider"
            android:layout_width="wrap_content" android:layout_height="48dp"></ImageView>
        <TextView android:id="@+id/changeText" android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/priceText" android:gravity="right"
            android:textSize="18sp" android:text="3.07(+1.08%)" android:padding="12dip"
            android:layout_width="fill_parent" />
    </TableLayout>

Ответы [ 2 ]

2 голосов
/ 25 сентября 2010

android:layout_toLeftOf, android:layout_toRightOf и android:layout_below являются атрибутами для использования с RelativeLayout. У вас нет RelativeLayout. Следовательно, те атрибуты, которые используются в вашем XML выше, бесполезны.

Чтобы создать строку из четырех столбцов, нужно иметь четыре дочерних элемента виджета TableRow.

Мне не совсем ясно, как бы вы достигли эффекта выравнивания по правому краю. Возможно, android:gravity доставит вас туда, но у меня есть подозрение, что проблема сложнее, чем эта.

0 голосов
/ 25 сентября 2010

android:gravity должно быть все, что вам нужно здесь, так как ваш TextView уже находится в width=fill_parent, например он выровняет текст справа внутри представления.

В противном случае вы также можете играть с android:layout_gravity="right", например, если у вас есть представление с width=wrap_content, и вам нужно указать контейнеру, как его выровнять.

...