Android: comment faire grandir une vue pour remplir l’espace disponible?

Cela semble simple, mais je ne peux pas comprendre comment le faire. J’ai une disposition horizontale avec un EditText et deux ImageButtons. Je veux que les ImageButtons soient de taille fixe et EditText pour occuper l’espace restant dans la mise en page. Comment cela peut-il être accompli?

        

essayez ceci dans la disposition relative

       

Si vous souhaitez conserver la même disposition (c.-à-d. Les boutons après le texte), utilisez la propriété fill_parent avec fill_parent , ainsi:

         

En donnant le poids à EditText , vous EditText la dernière EditText et donne la priorité aux boutons. Jouez avec les différents layout_weights et voyez combien vous pouvez vous amuser!

D’accord:

         

Les points clés de la mise en page sont les suivants:

  • Les éléments à taille fixe sont placés en premier dans la mise en page, de cette manière, lorsque Android calcule la hauteur des objects avec fill_parent plus tard dans le fichier, il ne prend en compte que l’espace restant, pas tout l’espace qu’il pourrait occuper. si rien d’autre était là
  • EditText a une hauteur de fill_parent ( match_parent dans 2.2+) pour qu’il occupe le rest de l’espace disponible

Désolé, vous n’avez pas lu votre question assez. Le code ci-dessus fournit la réponse si vous voulez le faire de manière verticale. Pour une mise en page horizontale, le code posté par @Sunil devrait fonctionner.

Utilisez set the layout_width ou layout_height sur 0dp (par l’orientation que vous souhaitez remplir l’espace restant). Ensuite, utilisez le layout_weight pour le faire remplir l’espace restant.