Mettre les boutons en bas de l'écran avec LinearLayout?
J'ai le code suivant, comment puis-je faire en sorte que les 3 boutons sont en bas?
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="60dp"
android:gravity="center"
android:text="@string/observer"
android:textAppearance="?android:attr/textAppearanceLarge"
tools:context=".asdf"
android:weight="1" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<Button
android:id="@+id/button1"
style="?android:attr/buttonStyleSmall"
android:layout_width="145dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center"
android:text="1" />
<Button
android:id="@+id/button2"
style="?android:attr/buttonStyleSmall"
android:layout_width="145dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center"
android:text="2" />
<Button
android:id="@+id/button3"
style="?android:attr/buttonStyleSmall"
android:layout_width="145dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center"
android:text="3" />
</LinearLayout>
- quel est ce point de vue enveloppé dans? un cadre de mise en page? relative de la mise en page?
- Votre code contient une faute de frappe. Par
android:weight="1"
vous signifiait probablementandroid:layout_weight="1"
. Ce n'est pas votre problème. - double possible de Comment faire pour aligner les points de vue au bas de l'écran?
Vous devez vous connecter pour publier un commentaire.
Vous devez vous assurer de quatre choses:
LinearLayout
alayout_height="match_parent"
LinearLayout
alayout_weight="1"
etlayout_height="0dp"
TextView
alayout_weight="0"
LinearLayout: android:gravity="center|bottom"
Avis que
fill_parent
ne signifie pas "prendre tout l'espace disponible". Toutefois, si vous utilisezlayout_height="0dp"
aveclayout_weight="1"
, puis une vue de prendre tout l'espace disponible (Ne peut pas obtenir une mise en page avec "fill_parent").Voici quelque code que j'ai rapidement écrit, qui utilise deux LinearLayouts dans un mode similaire au votre code.
Le résultat ressemble similaire à ceci:
layout_weight="0"
ou ce qu'il fait réellement?Vous pouvez utiliser un
RelativeLayout
et d'aligner le bas avecandroid:layout_alignParentBottom="true"
layout_weight="1"
. Avec cela, votre LinearLayout occupera de la hauteur à gauche sur l'écran; vous pouvez maintenant définir la gravité de vos Boutons vers le bas.Créer Relatif de la mise en page et à l'intérieur de cette mise en page créer votre bouton avec cette ligne
android:layout_centerHorizontal="true"
aussi centrer horizontalement en fait une excellente solution.d'abord créer un fichier de nom comme
footer.xml
placer ce code à l'intérieur.
puis créer header.xml et de mettre ce code à l'intérieur.:
et puis dans votre
main_activity.xml
et de mettre ce code à l'intérieur :-heureux de codage 🙂
Vous pouvez le faire en prenant un Cadre de mise en page en tant que parent, Mise en page, puis mettre linéaire de la mise en page à l'intérieur. Voici un exemple:
Juste ajouter layout_weight="1" dans votre linearLayout qui avoir des Boutons.
Edit :- permettez-moi de faire simple
suivre quelque chose comme ci-dessous, les balises de nom ne peut pas être correcte, c'est juste une Idée
LL1
élément d'espacement, donc, tout à la prochaine sera au fond? Jolie astuce.Ajouter
android:windowSoftInputMode="adjustPan"
de manifester à l'activité correspondante:Vous pouvez regrouper vos Bouton(s) dans un RelativeLayout même si votre Parent la Mise en page est Linéaire. Assurez-vous que l'extérieur de la plupart des parents a android:layout_height attribut match_parent.
Et sur ce Bouton ajouter un tag
'android:alignParentBottom="True" '