entrez la description de l'image ici
Je ne sais pas comment faire toutes les tailles de boutons sont identiques ... J'ai essayé de créer une grille pour envelopper le contenu, cela fonctionnait, mais les tailles des boutons étaient un peu différentes en fonction du nombre de caractères. Est-ce que quelqu'un sait comment formater ce truc?
J'ai essayé d'ajouter le nombre de lignes et de colonnes, la gravité, etc., mais cela n'a rien changé.
Voici mon code XML :
<GridLayout
android:layout_height="match_parent"
android:layout_width="match_parent">
<Button
android:text="Hello"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_column="0"
android:layout_row="0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/hello"
android:onClick="buttonTapped"
android:gravity="center"
android:layout_gravity="fill" />
<Button
android:text="Do you speak English?"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_column="1"
android:layout_row="0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/english"
android:onClick="buttonTapped"
android:gravity="center"
android:layout_gravity="fill" />
<Button
android:text="Good Evening"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_column="0"
android:layout_row="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/goodEvening"
android:onClick="buttonTapped"
android:gravity="center"
android:layout_gravity="fill" />
<Button
android:text="Please"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_column="1"
android:layout_row="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/please"
android:onClick="buttonTapped"
android:gravity="center"
android:layout_gravity="fill" />
<Button
android:text="My name is"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_column="0"
android:layout_row="2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/name"
android:onClick="buttonTapped"
android:gravity="center"
android:layout_gravity="fill" />
<Button
android:text="Welcome"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_column="1"
android:layout_row="2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/welcome"
android:onClick="buttonTapped"
android:gravity="center"
android:layout_gravity="fill" />
<Button
android:text="How are you?"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_column="0"
android:layout_row="3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/howAreYou"
android:onClick="buttonTapped"
android:gravity="center"
android:layout_gravity="fill" />
<Button
android:text="I live in"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_column="1"
android:layout_row="3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/iLiveIn"
android:onClick="buttonTapped"
android:gravity="center"
android:layout_gravity="fill" />
</GridLayout>
3 Réponses :
Remplacez match_parent par wrap_content si vous prévoyez d'utiliser GridLayout:
<GridLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content">
</GridLayout>
Sinon, utilisez des directives de contrainte ou une disposition linéaire
Comme vous pouvez le voir dans ce document . android: layout_gravity = "fill" va
Augmentez la taille horizontale et verticale de l'objet si nécessaire pour qu'il remplit complètement son conteneur
et ici la taille de votre conteneur est match_parent .Ainsi, il remplit votre mise en page. Maintenant, créez votre conteneur (GridLayout) wrap_content , sinon utilisez correctement l'attribut gravity
Alors, quelle gravité recommanderiez-vous? J'ai essayé de les changer, à la fois en grille et en boutons ...
@CrashendoDt Je vous recommande d'utiliser la disposition linéaire à cet effet.
Pourquoi seuls les deux boutons du bas remplissent le reste? Les 8 ne devraient-ils pas tous remplir cet espace?
utiliser une disposition linéaire, cela rend la disposition égale pour tous les mobiles