Почему компоненты TableLayout с одинаковым столбцом не выравниваются? - PullRequest
0 голосов
/ 17 декабря 2018

Я совершенно уверен, что мне не хватает чего-то фундаментального в TableLayout, но я не могу понять это после довольно продолжительного поиска и чтения.Вот код:

<TableLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <TableRow>
        <Button android:layout_column="0" android:text="00" android:visibility="gone"/>
        <Button android:layout_column="1" android:text="01"/>
    </TableRow>
    <TableRow>
        <Button android:layout_column="0"  android:text="10"/>
        <Button android:layout_column="1" android:text="11"/>
    </TableRow>
</TableLayout>

Вот результат:

enter image description here

Я ожидал, что кнопка "01" будет выровнена скнопка "11", потому что они оба установлены в столбце 1. Может ли кто-нибудь указать, что я пропускаю?

[Редактировать] Если значение видимости "ушел" из "00" является проблемой, почему удалениеэто будет работать следующим образом:

<TableLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <TableRow>
        <Button
            android:layout_column="1"
            android:text="01" />
    </TableRow>

    <TableRow>

        <Button
            android:layout_column="0"
            android:text="10" />

        <Button
            android:layout_column="1"
            android:text="11" />
    </TableRow>
</TableLayout>

Результат:

enter image description here

1 Ответ

0 голосов
/ 17 декабря 2018

Это потому, что вы установили visibility GONE для Кнопка со значением 00 , поэтому в макете . * 1009 она не занимает место.*

Здесь вы можете найти и то и другое.

View.GONE Это представление невидимо и не занимает места для layout целей.

View.INVISIBLE Этопредставление невидимо, но оно все еще занимает место для layout целей.

Так что просто изменив visibility на invisible для Button со значением 00 будет работать как положено.

<TableLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <TableRow>

        <Button
            android:layout_column="0"
            android:text="00"
            android:visibility="invisible" />

        <Button
            android:layout_column="1"
            android:text="01" />
    </TableRow>

    <TableRow>

        <Button
            android:layout_column="0"
            android:text="10" />

        <Button
            android:layout_column="1"
            android:text="11" />
    </TableRow>
</TableLayout>

Надеюсь, это поможет вам.

...