L'article du blog des développeurs Android présentantGridLayout
ce diagramme montre comment les intervalles affectent l'allocation d'index automatique:
J'essaye d'implémenter réellement cela en utilisant un GridLayout
. Voici ce que j'ai jusqu'à présent:
<android.support.v7.widget.GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/com.commonsware.android.gridlayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
app:orientation="horizontal"
app:columnCount="8">
<Button
app:layout_columnSpan="2"
app:layout_rowSpan="2"
android:layout_gravity="fill_horizontal"
android:text="@string/string_1"/>
<Button
app:layout_columnSpan="2"
android:layout_gravity="fill_horizontal"
android:text="@string/string_2"/>
<Button
app:layout_rowSpan="4"
android:text="@string/string_3"/>
<Button
app:layout_columnSpan="3"
app:layout_rowSpan="2"
android:layout_gravity="fill_horizontal"
android:text="@string/string_4"/>
<Button
app:layout_columnSpan="3"
android:layout_gravity="fill_horizontal"
android:text="@string/string_5"/>
<Button
app:layout_columnSpan="2"
android:layout_gravity="fill_horizontal"
android:text="@string/string_6"/>
<android.support.v7.widget.Space
app:layout_column="0"
android:layout_width="36dp"
/>
<android.support.v7.widget.Space
android:layout_width="36dp"
/>
<android.support.v7.widget.Space
android:layout_width="36dp"
/>
<android.support.v7.widget.Space
android:layout_width="36dp"
/>
<android.support.v7.widget.Space
android:layout_width="36dp"
/>
<android.support.v7.widget.Space
android:layout_width="36dp"
/>
<android.support.v7.widget.Space
android:layout_width="36dp"
/>
<android.support.v7.widget.Space
android:layout_width="36dp"
/>
</android.support.v7.widget.GridLayout>
J'ai dû introduire les <Space>
éléments pour m'assurer que chaque colonne avait une largeur minimale, sinon, j'aurais un tas de colonnes de largeur nulle.
Cependant, même avec eux, je comprends ceci:
Notamment:
Malgré tout
android:layout_gravity="fill_horizontal"
, mes widgets avec des étendues de colonnes ne remplissent pas les colonnes étenduesMalgré les
android:layout_rowSpan
valeurs, rien ne s'étend sur les lignes
Quelqu'un peut-il reproduire le diagramme du billet de blog en utilisant un GridLayout
?
Merci!