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