2016-12-30 2 views
1

Ich versuche, 3 TextView innerhalb einer vertikalen LinearLayout auszurichten. Was ich erreichen möchte, ist ein ein TextView an der Spitze in der Mitte und eine andere an der Unterseite. Wenn ich jedoch den Rand für den unteren Rand festlege, verschieben die anderen beiden die Position. Wie erreiche ich das wie das unten gezeigte Beispiel?Android Xml - LinearLayout mit 3 Textansichten oben, Mitte und unten

FALSCH enter image description here

RICHTIG 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

Warum u Relativelayout nicht verwenden? –

Antwort

1

Ihr lineares Layout entfernen und versuchen Sie es mit dem folgenden Code.

<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

Dies wird nicht kompiliert, da Sie die ID 'songName' vor der Definition verwenden. –

+0

Ich habe es in Android Studio überprüft und es zeigt Vorschau richtig. –

+0

danke funktioniert einwandfrei. Und @HristoStoyanov scheint es perfekt zu kompilieren – SNos

Verwandte Themen