2

我希望我的內部RelativeLayout包裝它的內容並保持在View元素以下。爲什麼它的行爲不像下面的圖片?Relativelayout不包裝其內容

我layout.xml

<?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="match_parent"> 
    <View 
     android:id="@+id/linearLayout" 
     android:layout_above="@+id/input_layout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"/> 

    <RelativeLayout 
     android:id="@+id/input_layout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:background="#ebebeb"> 

     <EditText 
      android:id="@+id/editText" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" 
      android:layout_toLeftOf="@+id/imageView13" 
      android:layout_toStartOf="@+id/imageView13" 
      android:background="@android:color/white" 
      android:padding="8dp" /> 

     <ImageView 
      android:id="@+id/imageView13" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true" 
      android:layout_alignParentEnd="true" 
      android:layout_alignParentRight="true" 
      android:src="@drawable/ic_m_send" /> 

    </RelativeLayout> 

</RelativeLayout> 

enter image description here

+0

因爲你'View'寬度和高度都設置爲'match_parent',所以沒有任何空間可用於'RelativeLayout' –

+0

沒有使用bro。設置它的高度,任何事情都無法實現。 –

+0

試試這個: 設置你的'View'高度爲例如100dp,然後設置你的'RelativeLayout' layout_below =「@ + id/linearLayout」,我認爲它會工作。 –

回答

7

來自您的EditTextImageView將解決您的proble刪除android:layout_alignParentBottom="true"

您的RelativeLayout已經有android:layout_alignParentBottom="true",如果您爲它的孩子設置相同的值,它也會將佈局高度設置爲全屏。

請注意,你不能有 的RelativeLayout的大小和它的孩子們的位置之間循環依賴。例如,您 不能有一個RelativeLayout的,其高度設爲WRAP_CONTENT和 孩子設置爲ALIGN_PARENT_BOTTOM

Class Document

+0

哇解決了它(y) –

+0

,但如何設置它的孩子留在底部? –

+1

它只會保持底部,因爲它的父佈局在底部,在編輯的答案中檢查類文檔 –

0

用這種方式

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

    <View 
    android:id="@+id/relChart" 
    android:layout_above="@+id/input_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"/> 

    <RelativeLayout 
    android:id="@+id/relChart" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@color/background" 
    > 

    <EditText 
     android:id="@+id/editText1" 
     android:layout_width="match_parent" 
     android:layout_height="80dp" 
     android:layout_centerVertical="true" 
     android:layout_margin="5dp" 
     android:layout_toLeftOf="@+id/ivSend" 
     android:background="@drawable/border_round_white3" 
     android:gravity="right|center_vertical" 
     android:paddingRight="10dp" 
     android:textColor="@android:color/black" 
     android:textCursorDrawable="@null" 
     android:maxLength="140" 
     /> 

    <ImageView 
     android:id="@+id/ivSend" 
     android:layout_width="40dp" 
     android:layout_height="35dp" 
     android:layout_alignParentRight="true" 
     android:layout_centerVertical="true" 
     android:contentDescription="@null" 
     android:padding="5dp" 
     android:src="@mipmap/send_icon" /> 
</RelativeLayout> 
    </RelativeLayout>