Place 3 boutons dans un LinearLayout à occuper espace égal
je voudrais avoir trois boutons de la prise égale quantité d'espace disponible à l'horizontale dans une rangée.
J'ai utilisé android:layout_gravity
. Quel est le problème?
mise en page xml :
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="1.0"
>
<Button android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Bg"
android:background="@drawable/button_red"
android:layout_weight=".2"
android:layout_gravity="left"
/>
<Button android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Bm"
android:background="@drawable/button_red"
android:layout_weight=".2"
android:textColor="#ffffff"
android:layout_gravity="center"
/>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/button_red"
android:layout_weight=".2"
android:text="@string/Bf"
android:layout_gravity="right"
/>
</LinearLayout>
si quelqu'un à voir quoi de mal, merci.
- et assurez-vous de donner un id à des boutons..
Vous devez vous connecter pour publier un commentaire.
La mise en page suivante devrait fonctionner. les poids sont pour LinearLayouts..
en plus de la définition d'une
layout_weight
vous devez définirlayout_width
oulayout_height
à0dp
. Donc, si vous voulez par exemple pour diffuser les boutons horizontalement ,layout_width
devrait être 0dp etlayout_weight
.2 ou plusieurs aussi longtemps que l'égalité à travers les boutons que vous avez.de sorte que votre mise en page doit être comme ceci
Diviser le poids de la somme à proportion égale dans tous les boutons.
Supprimer layout_gravity propriété et ajouter android:layout_weight=0.33.
Il travaillera
Découvrez ce:
Mettre les boutons en un rapport de mise en page. ajouter des propriétés aux boutons allignParentleft = true, un autre allignParentcenter= vrai et le allignParentRight = true pour chaque bouton.
Veuillez considérer la mise en page suivante extrait de:
2 choses à la note ci-dessus.
A. j'ai créé un LinearLayout avec weightSum de 3.
B. Puis à l'intérieur que j'ai créer 3 éléments, chacun ayant layout_weight de 1, de sorte que je peux avoir mon enfant éléments de distribuer l'ensemble de l'espace entre eux de manière homogène.
Je dois le faire de façon pragmatique sans poids
width
n'est pas un multiple de trois, puis il y aura un rappel. Cela peut compenser les boutons. Aussi le pixel(s)restant sera en noir et susceptibles d'être perceptible.Donner
android:layout_weight="1"
pour chaque BoutonIci Android Developer Guide:
Source
Vous pouvez le diviser comme ceci:
`