73 votes

Android Linéaire de la Mise en page - Comment Garder l'Élément En Bas De Vue?

J'ai un TextView qui je veux à la broche au fond d'un paysage de l'activité qui est à l'aide de LinearLayout avec disposés verticalement les éléments. J'ai mis android:gravity="bas" sur l'affichage de texte, mais il aime à être juste en dessous du dernier élément de la LinearLayout exactement ce que je ne veux pas que ça à faire. Toutes les suggestions? Merci

114voto

Matthew Willis Points 26453

Vous aurez à développer un de vos supérieur vues pour remplir l'espace restant en définissant android:layout_weight="1" sur il. Cela va pousser votre dernier point de vue vers le bas.

Voici un bref aperçu de ce que je veux dire:

<LinearLayout android:orientation="vertical">
    <View/>
    <View android:layout_weight="1"/>
    <View/>
    <View android:id="@+id/bottom"/>
</LinearLayout>

où en est chaque enfant vue des hauteurs est - "wrap_content" et tout le reste est "fill_parent".

102voto

Brian Cooley Points 6094

Prendre le TextView de la LinearLayout, puis mettre le LinearLayout et le TextView à l'intérieur d'un RelativeLayout. Ajouter l'attribut android:layout_alignParentBottom="true" pour le TextView. Avec tous les noms et d'autres attributs, sauf pour le dessus de l'attribut élidée:

<RelativeLayout>
  <LinearLayout>
    <!-- All your other elements in here -->
  </LinearLayout>
  <TextView
    android:layout_alignParentBottom="true" />
</RelativeLayout>

55voto

Je pense que ça sera la solution parfaite:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">
    <!-- Other views -->
    <Space
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"/>

    <!-- Target view below -->
    <View
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
</LinearLayout>

7voto

Vinod Joshi Points 294
step 1 : create two view inside a linear layout
step 2 : first view must set to android:layout_weight="1"
step 3 : Second view will automatically putted downwards


<LinearLayout
android:id="@+id/botton_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >

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

    <Button
    android:id="@+id/btn_health_advice"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>


</LinearLayout>

-2voto

Pham Hong Phong Points 37

essayez ceci

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

                    <TextView
                        android:id="@+id/textViewProfileName"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="TextView" />

                </LinearLayout>

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