Что именно делает Android: layout_column? - PullRequest
23 голосов
/ 05 декабря 2010

Я изучаю android и пытаюсь разобраться с этим конкретным атрибутом макета, читая документы Google Dev, в которых написано:

android:layout_column

Индекс столбца, в котором должен быть этот дочерний элемент. Должно быть целочисленное значение, такое как «100». Это также может быть ссылкой на ресурс (в форме "@ [package:] type: name") или атрибут темы (в форма "? [package:] [type:] name"), содержащая значение этого типа. Это соответствует символу ресурса глобального атрибута layout_column.

Может кто-нибудь объяснить, как это соотносится с html-эквивалентом (поскольку строки таблицы, по-видимому, сильно заимствуют у них)?

Это количество столбцов, которое он принимает, например, colspan?

1 Ответ

28 голосов
/ 05 декабря 2010

Э-э, это означает "индекс столбца, в котором должен быть этот потомок".Единственная сложность заключается в том, что столбцы начинаются с 0.

Например:

<?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="fill_parent"
    android:stretchColumns="1">
    <TableRow>
        <TextView
                android:text="URL:" />
        <EditText android:id="@+id/entry"
            android:layout_span="3"/>
    </TableRow>
    <TableRow>
        <Button android:id="@+id/cancel"
            android:layout_column="2"
            android:text="Cancel" />
        <Button android:id="@+id/ok"
            android:text="OK" />
    </TableRow>
</TableLayout>

Обе строки в приведенном выше макете имеют четыре столбца.Первый из них имеет четыре столбца, так как имеет столбец TextView в столбце 0 и EditText, охватывающий столбцы 1, 2 и 3. Второй столбец содержит четыре столбца, поскольку пропускает столбцы 0 и 1 и помещает два Buttonвиджеты в столбцах 2 и 3, предоставлены атрибутом android:layout_column="2" в первом Button.

...