Alignez les boutons à l'intérieur d'un TableRow

Je développe une application Android.

J'ai ceci:

  • Créez une alarme (répétitive haute hauteur) sur un déclencheur à distance lorsque l'application ne fonctionne pas (iphone / android) tout comme Find My iPhone
  • Enregistrer l'image depuis url en utilisant Picasso?
  • Android - Boutons de volume utilisés dans ma demande
  • Android - Impossible de trouver google-play-services_lib.apk! Erreur
  • Android Apk décompilation semble facile
  • OnAnimationEnd ne s'appelle pas, onAnimationStart fonctionne bien
  • <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="200px" android:orientation="vertical"> <TextView android:id="@+id/gameTitle" android:layout_width="fill_parent" android:layout_height="wrap_content" android:focusable="false" android:focusableInTouchMode="false" android:gravity="left" android:layout_margin="5px" android:text="aaaaa"/> <TextView android:id="@+id/gameDescription" android:layout_width="fill_parent" android:layout_height="wrap_content" android:focusable="false" android:focusableInTouchMode="false" android:gravity="left" android:layout_margin="5px" android:typeface="sans" android:textSize="16sp" android:textStyle="bold" android:text="dddddd"/> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ButtonsTable" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TableRow android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:text="@string/yes" android:id="@+id/playGame" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <Button android:text="@string/no" android:id="@+id/noPlayGame" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </TableRow> </TableLayout> </LinearLayout> 

    Je veux mettre le bouton PlayGame dans le côté gauche du centre, et le bouton noPlayGame situé sur le côté droit du centre.

    Maintenant, les deux apparaissent alignés à gauche de TableRow.

    Comment puis-je faire ceci?

    Je vous remercie.

    EDIT : J'ai ajouté la mise en page complète et les modifications suggérées par Ashay .
    2ème EDIT :
    LA SOLUTION
    J'ai ajouté à TableLayout ce qui suit: android:stretchColumns="0,1" . Maintenant, les boutons sont alignés au centre mais ils remplissent leur colonne d'entiers !!!

  • Google Play Services 9.2.0 classes manquantes
  • Pouvez-vous déterminer quel changement de contact w / registerContentObserver?
  • La commande ndk-build n'est pas trouvée dans le terminal Ubuntu
  • Port LWJGL vers l'Android
  • Comment charger la liste «en douceur» dans Android
  • Comment modifier le style d'un EditText par défaut
  • 5 Solutions collect form web for “Alignez les boutons à l'intérieur d'un TableRow”

    J'espère que ça aide:

     <TableRow android:id="@+id/tableRow1" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_width="wrap_content"> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="@string/stringtxt1"></Button> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:text="@string/stringtxt2" android:layout_height="wrap_content" android:layout_gravity="center|center_horizontal"></Button> </TableRow> 

    J'ai posté mon code, j'espère que cela aidera les autres utilisateurs à résoudre leurs problèmes (contenu central). Je voulais centrer deux boutons dans la rangée de table, voici mon code qui résout ce problème:

    Nous indiquons quelles colonnes seront étirées dans prop android: strechColumns = "a, b .." en utilisant la liste délimitée par des virgules

      <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/buttonGroup" android:layout_width="fill_parent" android:layout_height="wrap_content" android:stretchColumns="0,1" > <TableRow> <Button xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/button1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/button1Name" android:layout_gravity="right"/> <Button xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/button2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/button2Name" android:layout_gravity="left"/> </TableRow> </TableLayout> 

    J'espère que cela aidera. Désolé pour mon anglais :/

    Pour centrer un seul bouton sur une seule ligne:

     <TableRow android:id="@+id/rowNameHere" android:layout_height="wrap_content" android:layout_width="wrap_content" android:gravity="center"> <Button android:id="@+id/btnDoStuff" android:text="Do Stuff" /> </TableRow> 

    Après avoir examiné les réponses ci-dessus, j'ai saisi quelques éléments de chaque réponse et cela a fonctionné pour moi.

    J'ai ajouté deux visuels fictifs pour aligner mon bouton dans le centre.

     <TableRow> <TextView android:text="" android:layout_weight=".25" android:layout_width="0dip" /> <Button android:id="@+id/buttonSignIn" android:text="Log In" android:layout_height="wrap_content" android:layout_weight=".50" android:layout_width="0dip" /> <TextView android:text="" android:layout_weight=".25" android:layout_width="0dip" /> </TableRow> 

    Supprimez cette ligne <TableRow android:layout_gravity="center"> Et donnez à android:fill_containt dans la rangée de table à la fois hauteur et largeur

    RÉPONSE DE LA RÉPONSE : Eh bien, je suis désolé pour les derniers messages d'erreur d'orthographe

    Par XML, il semble impossible pour TableLayout . Vous devez configurer cette UI dans le code dans oncreate. Dans votre fichier java, vous pouvez les configurer en utilisant ci-dessous.

     playGame.setWidth(ScreenWidth()/2-var); noPlayGame.setWidth(ScreenWidth()/2-var); 

    Ici var peut être utilisé pour régler la distance entre ces 2 boutons comme 10 ou 30. De plus, votre xml va changer comme suit:

     <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ButtonsTable" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TableRow android:layout_width="wrap_content" android:layout_height="fill_parent" android:gravity="center"> <Button android:text="yes" android:id="@+id/playGame" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center"/> <Button android:text="no" android:id="@+id/noPlayGame" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center"/> </TableRow> </TableLayout> 

    La méthode ScreenWidth() peut être utilisée pour obtenir la largeur de l'écran grâce à ces méthodes

     private int ScreenWidth() { DisplayMetrics dm=new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); String width=""+dm.widthPixels; return Integer.parseInt(width); } 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.