2016-12-30 73 views
1

我想對齊3 TextView垂直LinearLayout內。我想實現的是有一個TextView頂部一個在中心,另一個在底部。但是,當我爲底部設置保證金時,其他兩位正在移動位置。我如何才能做到這一點,如下面的例子所示?的Android的Xml - LinearLayout中有3個textviews頂部,中部和底部

WRONG enter image description here

正確 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

爲什麼ü沒有使用RelativeLayout的? –

回答

1

刪除您的線性佈局和用下面的代碼試試。

<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

這不會編譯,因爲在定義它之前使用id'songName'。 –

+0

我已在Android Studio中檢查過它,並且正確顯示預覽。 –

+0

謝謝你工作正常。和@HristoStoyanov它似乎完美編譯 – SNos