31 votes

Bouton demi-largeur de l'écran

J'ai un seul bouton dans une mise en page linéaire. Je veux que le bouton occupe la moitié de la largeur de son parent. Y at-il un moyen de faire cela dans la mise en page XML.

 <LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:gravity="center_horizontal"
    android:padding="6dp">

    <Button
        android:id="@+id/buttonCollect"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:text="@string/hello"
        android:paddingLeft="8dp"
        android:paddingRight="8dp"/>

</LinearLayout> 
 

Ma question ressemble beaucoup à celle-ci: Affectez la largeur à la moitié de la largeur d'écran disponible de manière déclarative, sauf que je n'ai qu'un seul bouton.

50voto

kabuko Points 23166

Oui, la solution est très similaire à cette question, mais vous souhaitez également définir le weightSum du parent LinearLayout:

 <LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:gravity="center_horizontal"
    android:padding="6dp"
    android:weightSum="2">

    <Button
        android:id="@+id/buttonCollect"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:text="@string/hello"
        android:paddingLeft="8dp"
        android:paddingRight="8dp"
        android:layout_weight="1" />

</LinearLayout> 
 

3voto

Knossos Points 2753

Vous devez définir un poids de 0,5 (demi) et définir la largeur sur 0.

 <Button
    android:id="@+id/buttonCollect"
    android:layout_width="0dip"
    android:layout_weight="0.5"
    android:layout_height="match_parent"
    android:text="@string/hello"
    android:paddingLeft="8dp"
    android:paddingRight="8dp"/>
 

0voto

dmon Points 20795

Exactement la même chose que la question que vous avez postée, utilisez plutôt une vue factice:

 <View 
android:weight="1"
android:layout_width="0dp"
android:layout_height="match_parent"/>
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X