TableLayout – tabela rozjeżdża się, gdy tekst dzielony jest na kilka linii

0

Witam

Mam problem z interface'm w aplikacji na platformę Android.

Mianowicie gdy tekst mieści się w wierszu to pozostała część tabeli nie "rozjeżdża" się:

img1.png

Gdy tekst nie mieści się w wierszu i jest rozbijany na dwie lub więcej linie pozostała część tabeli się rozjeżdża:

img2.png

Layout w xml (definiuje elementy na liście) jest zdefiniowany w następujący sposób:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
    android:layout_gravity="top"
    android:background="@drawable/list_row_selector"
    android:padding="@dimen/padding_5dip">


        <TableRow android:baselineAligned="true">
            <TextView
                android:id="@+id/textCode"
                android:layout_height="wrap_content"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:layout_gravity="left|center_vertical"
                android:textSize="@dimen/text_20dip"
                android:layout_span="1"
                android:textStyle="bold"
                android:textColor="#000000" />
        </TableRow>
        <TableRow>
            <TextView
                android:id="@+id/textName"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:layout_weight="1"
                android:layout_gravity="left|center_vertical"
                android:textSize="@dimen/text_15dip"
                android:gravity="left"
                android:textColor="#000000"
                android:singleLine="true"
                android:textIsSelectable="false" />
        </TableRow>
        <TableRow>
            <TextView
                android:id="@+id/textNIP"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:layout_weight="1"
                android:layout_gravity="left|center_vertical"
                android:textSize="@dimen/text_15dip"
                android:gravity="left"
                android:textColor="#000000" />
        </TableRow>
        <TableRow>
            <TextView
                android:text=""
                android:id="@+id/textAddress"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:layout_weight="1"
                android:layout_gravity="left|center_vertical"
                android:textSize="@dimen/text_15dip"
                android:gravity="left"
                android:textColor="#000000" />
        </TableRow>
    <TableRow>
        <TextView
            android:text=""
            android:id="@+id/textCity"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:layout_weight="1"
            android:layout_gravity="left|center_vertical"
            android:textSize="@dimen/text_15dip"
            android:gravity="left"
            android:textColor="#000000" />
    </TableRow>

    </TableLayout>

Gdzie leży problem?

0

TableLayout właśnie tak działa, że gdy jeden z wierszy jest dłuższy, to każdy jest dłuższy.

0

Da się to jakoś ogarnąć, czy zmienić na RelativeLayout lub jeszcze jakiś inny "patent"?

0

Wydawało mi się, że wagi są tylko w LinearLayout.

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="top"
    android:padding="5dp">

    <TableRow>

        <TextView
            android:id="@+id/textCode"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="20dp"
            android:textStyle="bold" />
    </TableRow>

    <TableRow>

        <TextView
            android:id="@+id/textName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:singleLine="true"
            android:textSize="15dp" />
    </TableRow>

    <TableRow>

        <TextView
            android:id="@+id/textNIP"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="15dp" />
    </TableRow>

    <TableRow>

        <TextView
            android:id="@+id/textAddress"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="15dp" />
    </TableRow>

    <TableRow>

        <TextView
            android:id="@+id/textCity"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="15dp" />
    </TableRow>

</TableLayout>

Screenshot_1506020071.png

1 użytkowników online, w tym zalogowanych: 0, gości: 1