2015-09-16 19 views
0

我有一個RelativeLayout包裝ImageView和2個TextViews。這裏的問題是,當我將其高度設置爲wrap_content時,其中一個TextView與另一個重疊,而它被設置爲位於其下,但我將高度設置爲特定的dp(如56dp),這很好。請參閱下面的代碼。爲什麼RelativeLayout在其高度設置爲WRAP_CONTENT時不斷亂動其內部佈局?

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="?attr/selectableItemBackground" 
    android:clickable="true" 
    android:focusable="true"> 

    <de.hdodenhof.circleimageview.CircleImageView 
     android:id="@+id/avatar" 
     android:layout_width="36dp" 
     android:layout_height="36dp" 
     android:layout_alignParentLeft="true" 
     android:layout_centerVertical="true" 
     android:layout_margin="10dp" 
     android:scaleType="centerCrop" 
     android:src="@drawable/new_profile_avatar"/> 

    <com.imnumbers.newpkg.widget.CustomTextView 
     android:id="@+id/name" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 
     android:layout_toRightOf="@+id/avatar" 
     android:text="Hamed Momeni"/> 

    <TextView 
     android:id="@+id/number" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/name" 
     android:layout_toEndOf="@+id/avatar" 
     android:layout_toRightOf="@+id/avatar" 
     android:text="+989888898885" 
     android:textSize="9sp" 
     /> 

</RelativeLayout> 

我還包含截圖來說明問題。

截圖的它的外觀:
Wrong

截圖的呢應該看:
Right

+0

請刪除** ** +從下方,toRight,toLeft,toEnd,... ID跡象** **引用。 '@ + id/avatar' =>'@ id/avatar'。顯然不是在分配id時。 –

+0

@ FrankN.Stein沒有任何不同。 –

回答

1

android:layout_centerVertical="true"name, 0123:和android:layout_height="wrap_content"RelativeLayout建立相互依存,並導致錯誤

建議的修復:

  1. 刪除android:layout_centerVertical="true"name,您可以添加marginTop爲name往下移動了一點,例如android:layout_marginTop="5dp";或
  2. 設置固定高度RelativeLayout,即android:layout_height="36dp"
+0

不用了,用他們的內置版本取代了所有的視圖無濟於事。 –

+0

請檢查我的編輯,相信這是實際原因 –

+0

您的編輯實際上並明顯修復了問題。但我想避免給邊際和高度帶來任何價值,但似乎沒有辦法繞過它。謝謝。 –

1

只要你RelativeLayout改變高度"match_parent"android:layout_height="match_parent"

+0

我不想讓它填充它的父項。我只需要它的內容一樣大。它會用在RecyclerView中。 –

+0

你會在你的視圖('listview')中膨脹這個佈局吧? – Mohit

+0

是的,它膨脹在onCreateViewHolder中。 –

相關問題