J'ai le code suivant, comment faire pour que les 3 boutons soient 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>
android
xml
android-layout
button
android-linearlayout
thedeepfield
la source
la source
android:weight="1"
vous vouliez probablement direandroid:layout_weight="1"
. Ce n'est pas votre problème cependant.Réponses:
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"
Notez que
fill_parent
cela ne signifie pas «occuper tout l'espace disponible». Cependant, si vous utilisezlayout_height="0dp"
aveclayout_weight="1"
, alors une vue occupera tout l'espace disponible ( impossible d'obtenir une mise en page correcte avec "fill_parent" ).Voici un code que j'ai rapidement écrit qui utilise deux LinearLayouts de la même manière que votre code.
Le résultat ressemble à ceci:
la source
layout_weight="0"
ou ce qu'il fait réellement?Vous pouvez utiliser un
RelativeLayout
et l'aligner vers le bas avecandroid:layout_alignParentBottom="true"
la source
layout_weight="1"
. Avec cela, votre LinearLayout occupera la hauteur laissée à l'écran; vous pouvez maintenant régler la gravité de vos boutons en bas.Créez une mise en page relative et à l'intérieur de cette mise en page, créez votre bouton avec cette ligne
la source
android:layout_centerHorizontal="true"
pour le centrer horizontalement en fait une excellente solution.créez d'abord le nom du fichier en y
footer.xml
insérant ce code.puis créez header.xml et mettez ce code dedans:
puis dans votre
main_activity.xml
et mettez ce code à l'intérieur: -bon codage :)
la source
Vous pouvez le faire en prenant une mise en page Frame comme mise en page parent, puis en y insérant une mise en page linéaire. Voici un exemple:
la source
la source
Ajoutez simplement layout_weight = "1" dans votre linearLayout qui a des boutons.
Edit: - laissez-moi faire simple
suivez quelque chose comme ci-dessous, le nom des balises peut ne pas être correct, ce n'est qu'une idée
la source
LL1
élément comme espaceur, donc tout ce qui suit sera en bas? Jolie astuce.Ajouter
android:windowSoftInputMode="adjustPan"
au manifeste - à l'activité correspondante:la source
Vous pouvez regrouper vos boutons dans une mise en page relative même si votre mise en page parent est linéaire. Assurez- vous que l' attribut android: layout_height est défini sur match_parent pour le parent le plus externe . Et dans cette balise Button, ajoutez 'android: alignParentBottom = "True"'
la source