2016-12-30 72 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