Le site Message du Blog des développeurs Android présentant GridLayout
montre ce diagramme de l'impact des spans sur l'allocation automatique des index :
J'essaie de mettre en œuvre ce système en utilisant une 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û présenter le <Space>
pour s'assurer que chaque colonne a une largeur minimale, sinon, j'aurais un tas de colonnes de largeur nulle.
Cependant, même avec eux, j'obtiens ceci :
Notamment :
-
Malgré
android:layout_gravity="fill_horizontal"
Mes widgets avec des colonnes espacées ne remplissent pas les colonnes espacées. -
Malgré la
android:layout_rowSpan
valeurs, rien ne couvre les rangées
Quelqu'un peut-il reproduire le diagramme de l'article du blog en utilisant un GridLayout
?
Gracias.