Je cette GridLayout:Faire de chaque colonne ont la même largeur
<android.support.v7.widget.GridLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="5dp"
app:columnCount="3"
app:rowCount="4">
<FrameLayout
android:background="@android:color/darker_gray"
android:gravity="center"
app:layout_columnSpan="2"
app:layout_columnWeight="2"
app:layout_gravity="fill"
app:layout_rowWeight="1">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/holo_green_light"
android:gravity="start"
android:padding="10dp"
android:text="some text"
android:textColor="@android:color/white" />
</FrameLayout>
<FrameLayout
android:layout_marginStart="5dp"
android:background="@android:color/darker_gray"
android:gravity="center"
app:layout_columnWeight="1"
app:layout_gravity="fill"
app:layout_rowWeight="1">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/holo_green_light"
android:gravity="start"
android:padding="10dp"
android:text="some text"
android:textColor="@android:color/white" />
</FrameLayout>
<FrameLayout
android:layout_marginTop="5dp"
android:background="@android:color/darker_gray"
android:gravity="center"
app:layout_columnWeight="1"
app:layout_gravity="fill"
app:layout_rowWeight="1">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/holo_green_light"
android:gravity="start"
android:padding="10dp"
android:text="some text"
android:textColor="@android:color/white" />
</FrameLayout>
<FrameLayout
android:layout_marginStart="5dp"
android:layout_marginTop="5dp"
android:background="@android:color/darker_gray"
android:gravity="center"
app:layout_columnWeight="1"
app:layout_gravity="fill"
app:layout_rowWeight="1">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/holo_green_light"
android:gravity="start"
android:padding="10dp"
android:text="some text"
android:textColor="@android:color/white" />
</FrameLayout>
<FrameLayout
android:layout_marginStart="5dp"
android:layout_marginTop="5dp"
android:background="@android:color/darker_gray"
android:gravity="center"
app:layout_columnWeight="1"
app:layout_gravity="fill"
app:layout_rowWeight="1">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
<FrameLayout
android:layout_marginTop="5dp"
android:background="@android:color/darker_gray"
android:gravity="center"
app:layout_columnWeight="1"
app:layout_gravity="fill"
app:layout_rowWeight="1">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
<FrameLayout
android:layout_marginStart="5dp"
android:layout_marginTop="5dp"
android:background="@android:color/darker_gray"
android:gravity="center"
app:layout_columnSpan="2"
app:layout_columnWeight="2"
app:layout_gravity="fill"
app:layout_rowWeight="1">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/holo_green_light"
android:gravity="start"
android:padding="10dp"
android:text="some text"
android:textColor="@android:color/white" />
</FrameLayout>
<FrameLayout
android:layout_marginTop="5dp"
android:background="@android:color/darker_gray"
android:gravity="center"
app:layout_columnWeight="1"
app:layout_gravity="fill"
app:layout_rowWeight="1">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/holo_green_light"
android:gravity="start"
android:padding="10dp"
android:text="some text"
android:textColor="@android:color/white" />
</FrameLayout>
<FrameLayout
android:layout_marginStart="5dp"
android:layout_marginTop="5dp"
android:background="@android:color/darker_gray"
android:gravity="center"
app:layout_columnWeight="1"
app:layout_gravity="fill"
app:layout_rowWeight="1">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/holo_green_light"
android:gravity="start"
android:padding="10dp"
android:text="big text changing"
android:textColor="@android:color/black" />
</FrameLayout>
<FrameLayout
android:layout_marginStart="5dp"
android:layout_marginTop="5dp"
android:background="@android:color/darker_gray"
android:gravity="center"
app:layout_columnWeight="1"
app:layout_gravity="fill"
app:layout_rowWeight="1">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/holo_green_light"
android:gravity="start"
android:padding="10dp"
android:text="some text"
android:textColor="@android:color/white" />
</FrameLayout>
</android.support.v7.widget.GridLayout>
qui produit ceci:
Remarqué la dernière ligne? La colonne du milieu est plus grande à cause de son plus gros texte. Ce TextView layout_height est défini sur wrap_content, et la frameLayout layout_columnWeight parent est définie sur 1. Pourquoi le FrameLayout devient-il plus grand au lieu de TextView?
Je souhaite que toutes les colonnes aient la même largeur, malgré le texte à l'intérieur. Si le texte est en quelque sorte gros, alors le TextView devrait augmenter sa hauteur dans le FrameLayout.
Y at-il un moyen d'y parvenir? Quel est le problème avec ma mise en page?
Vous avez absolument raison! Je vous remercie! – Ravers