2016-12-30 1 views
1

J'essaie d'aligner 3 TextView à l'intérieur d'un LinearLayout verticale. Ce que je veux accomplir, c'est d'avoir un TextView au premier au centre et un autre au bas. Cependant, lorsque je définis la marge pour le bas, les deux autres déplacent la position. Comment puis-je y parvenir comme l'exemple ci-dessous?Android Xml - LinearLayout avec 3 textviews haut, centre et bas

MAL enter image description here

CORRECT enter image description here

<RelativeLayout 
      android:id="@+id/circle_layout" 
      android:layout_width="120dp" 
      android:layout_height="120dp" 
      android:background="@drawable/img_circle_background" 
      android:gravity="center_vertical" 
      android:padding="0dp" > 

      <LinearLayout 
       android:layout_width="fill_parent" 
       android:layout_height="match_parent" 
       android:layout_alignParentLeft="true" 
       android:layout_centerVertical="true" 
       android:orientation="vertical" 
       android:gravity="center"> 

       <TextView 
        android:id="@+id/songDuration" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:gravity="center" 
        android:text="songDuration" 
        android:textColor="@color/default_music_txt_circlefragment" 
        android:textSize="8dp" 
        android:visibility="visible" 
        android:layout_weight="0" /> 

       <TextView 
        android:id="@+id/songName" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:maxLines="1" 
        android:padding="3dp" 
        android:singleLine="false" 
        android:text="songName" 
        android:textColor="@color/default_music_txt_circlefragment" 
        android:textSize="14dp" 
        android:gravity="center" 
        android:layout_weight="0" /> 

       <TextView 
        android:id="@+id/buy_songs_player" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:gravity="center" 
        android:maxLines="1" 
        android:singleLine="false" 
        android:text="@string/buy_song_player" 
        android:textColor="#FB6763" 
        android:textSize="12dp" 
        android:layout_weight="0" /> 


      </LinearLayout> 
     </RelativeLayout> 
+0

Pourquoi u n'utilisent pas Relativelayout? –

Répondre

1

Retirez votre disposition linéaire et essayez avec le code suivant.

<RelativeLayout android:id="@+id/circle_layout" 
android:layout_width="120dp" 
android:layout_height="120dp" 
android:background="@drawable/img_circle_background" 
android:gravity="center_vertical" 
android:padding="0dp" 
xmlns:android="http://schemas.android.com/apk/res/android"> 



    <TextView 
     android:id="@+id/songDuration" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:text="songDuration" 
     android:textColor="@color/default_music_txt_circlefragment" 
     android:textSize="8dp" 
     android:visibility="visible" 
     android:layout_above="@+id/songName"/> 

    <TextView 
     android:id="@+id/songName" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:maxLines="1" 
     android:padding="3dp" 
     android:singleLine="false" 
     android:text="songName" 
     android:textColor="@color/default_music_txt_circlefragment" 
     android:textSize="14dp" 
     android:gravity="center" 
     android:layout_centerInParent="true" /> 

    <TextView 
     android:id="@+id/buy_songs_player" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:maxLines="1" 
     android:singleLine="false" 
     android:text="@string/buy_song_player" 
     android:textColor="#FB6763" 
     android:textSize="12dp" 
     android:layout_alignParentBottom="true"/> 

+0

Ceci ne sera pas compilé car vous utiliserez l'identifiant 'songName' avant de le définir. –

+0

Je l'ai vérifié dans Android Studio et il affiche correctement l'aperçu. –

+0

merci fonctionne correctement. Et @HristoStoyanov il semble compiler parfaitement – SNos