Je veux afficher un bouton sous un ListView
. Le problème est que si le ListView
fichier est étendu (éléments ajoutés ...), le bouton est poussé hors de l'écran.
J'ai essayé un LinearLayout
avec des poids (comme suggéré dans Android: pourquoi n'y a-t-il pas de maxHeight pour une vue? ), Mais soit je me suis trompé de poids, soit cela n'a tout simplement pas fonctionné.
Aussi, j'ai trouvé quelque part le conseil d'utiliser un fichier RelativeLayout
. Le ListView
serait alors placé au-dessus du bouton avec le android:layout_above
paramètre.
Le problème avec ceci est que je ne sais pas comment positionner le bouton par la suite. Dans l'exemple que j'ai trouvé, la vue ci-dessous a ListView
été ajustée à l'aide de android:layout_alignParentBottom
, mais je ne veux pas que mon bouton s'accroche au bas de l'écran.
Des idées en dehors de l'utilisation de la méthode setHeight et du calcul de l'espace requis?
Edit: j'ai beaucoup de réponses utiles.
La solution de bigstone & user639183 a presque parfaitement fonctionné. Cependant, j'ai dû ajouter un rembourrage / une marge supplémentaire au bas du bouton, car il serait toujours poussé à mi-chemin de l'écran (mais ensuite arrêté)
La réponse d'Adinia avec la disposition relative ne convient que si vous voulez que le bouton soit fixé au bas de l'écran. Ce n'est pas ce que je voulais mais cela pourrait quand même être utile pour les autres.
La solution d'AngeloS a été celle que j'ai choisie à la fin car elle ne faisait que créer les effets que je voulais. Cependant, j'ai apporté deux modifications mineures au
LinearLayout
contour du bouton:Tout d'abord, comme je ne voulais pas avoir de valeurs absolues dans ma mise en page, je suis passé
android:layout_height="45px"
àwrap_content
, ce qui fonctionne très bien aussi.Deuxièmement, comme je voulais que le bouton soit centré horizontalement, ce qui n'est supporté que par vertical
LinearLayout
, j'ai changé android: orientation = "horizontal" en "vertical".
AngeloS a également déclaré dans son message initial qu'il n'était pas sûr que le
android:layout_weight="0.1"
paramètreLinearLayout
autour de l 'ListView
ait eu un effet; J'ai juste essayé et c'est le cas! Sans, le bouton est à nouveau poussé hors de l'écran.
android:layout_alignParentBottom="true"
. Mais pour être clair, voulez-vous que le bouton reste attaché au bas de la ListView lorsqu'il y a peu d'éléments? Si oui, voyez ce que dit Rich.