RelativeLayout使用layout_alignParentBottom的奇怪行为

时间:2016-04-04 12:28:20

标签: android layout view relativelayout

我今天在相对布局中遇到了一个奇怪的行为,无法理解为什么会发生这种情况:

1)这是布局,第一个内部编辑文本中的layout_alignParentBottom为true(注意黄色视图不应该扩展所有高度):

   <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:tools="http://schemas.android.com/tools"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:id="@+id/chat_layout"
                tools:context=".MainActivity"
                android:background="#FF0000">


    <RelativeLayout
        android:id="@+id/bottomlayout"
        android:layout_alignParentBottom="true"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#FFF000">
        <EditText
            android:layout_alignParentBottom="true"
            android:id="@+id/chat_edit_text2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#FFFFFF"
            android:text="edit text">

        </EditText>

        <EditText
            android:id="@+id/chat_edit_text1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#FFFFFF"
            android:layout_above="@id/chat_edit_text2"
            android:text="text above">

        </EditText>


    </RelativeLayout>

</RelativeLayout>

结果如下:

enter image description here

现在,如果我们删除layout_alignParentBottom =&#34; true&#34;在内部编辑文本中,布局是:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:tools="http://schemas.android.com/tools"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:id="@+id/chat_layout"
                tools:context=".MainActivity"
                android:background="#FF0000">


    <RelativeLayout
        android:id="@+id/bottomlayout"
        android:layout_alignParentBottom="true"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#FFF000">
        <EditText
            android:id="@+id/chat_edit_text2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#FFFFFF"
            android:text="edit text">

        </EditText>

        <EditText
            android:id="@+id/chat_edit_text1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#FFFFFF"
            android:layout_above="@id/chat_edit_text2"
            android:text="text above">

        </EditText>


    </RelativeLayout>

</RelativeLayout>

结果:

enter image description here

我的期待:

1)在第一种情况下,我希望两个编辑框一个堆叠在另一个上(这在结果中是正确的)但内部相对布局不应该变成全高。它应该只占用两个编辑框所占用的空间,因为相对布局有一个wrap_content

2)在第二种情况下,我希望两个编辑框都显示为堆叠而不是。但内部相对布局所采用的大小是正确的(考虑到编辑框没有正确堆叠在一起)

我使用上一个android studio稳定版和sdk 23。

这里发生了什么?

0 个答案:

没有答案