78 votes

Android: Comment rendre tous les éléments de LinearLayout de la même taille?

Je voudrais créer une boîte de dialogue pour afficher un titre vidéo et des balises. Au-dessous du texte, j'aimerais ajouter les boutons Afficher, Modifier et Supprimer et rendre ces éléments de la même taille. Est-ce que quelqu'un sait comment modifier le fichier de format .xml afin de rendre des éléments à l'intérieur de LinearView de la même taille?

Le fichier de mise en page actuel ressemble à ceci:

 <LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    android:orientation="vertical">

    <LinearLayout 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:orientation="vertical">

          <TextView 
              android:layout_width="wrap_content" 
              android:layout_height="wrap_content" 
              android:id="@+id/txtTitle" android:text="[Title]" >
          </TextView>

          <TextView 
              android:layout_width="wrap_content"
              android:layout_height="wrap_content" 
              android:id="@+id/txtTags"            
              android:text="[Tags]" >
          </TextView>

    </LinearLayout>

    <LinearLayout 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:orientation="horizontal">

        <Button 
           android:layout_width="wrap_content" 
           android:layout_height="wrap_content" 
           android:id="@+id/btnPlay" 
           android:text="View">
        </Button>

        <Button 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:id="@+id/btnEdit" 
            android:text="Edit">
        </Button>

        <Button 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:id="@+id/btnDelete" 
            android:text="Delete">
        </Button>

    </LinearLayout>

</LinearLayout>
 

J'apprécierais que quelqu'un puisse montrer la solution en modifiant le contenu du fichier collé.

Merci!

171voto

CommonsWare Points 402670

Utilisez android:layout_width="0px" et android:layout_weight="1" sur les trois Button s. Cela signifie que les boutons ne doivent pas occuper plus de 0 pixels, mais que les trois doivent séparer l’espace supplémentaire qui les sépare. Cela devrait vous donner l'effet visuel que vous souhaitez.

32voto

Eby Points 1313

Une autre façon est de faire en sorte que android:layout_width="fill_parent" et android:layout_weight="1" fonctionne également !!!

1voto

Paul Points 11

J'ai écrit un EqualSpaceLayout qui, selon moi, résoudra votre problème. Ceci est similaire à LinearLayout, mais cela ne déforme pas la taille des vues enfant. Découvrez-le: http://www.dev-smart.com/archives/225

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