布局不会随 EditText 扩展

Kac*_*acy 1 xml android android-layout

当我在 EditText 框中键入内容时,包含它的相对布局不会展开。问题是我想要它。

这是问题的直观显示:

在此输入图像描述

其中大约有 5 行乱码,您可以看到倒数第二行被截断。最多应显示 5 行,但实际上并未显示,很可能是因为它们位于高度设置为包裹内容的布局内。如何在 EditText 展开时使父布局展开?

这是显示您在图片中看到的消息框的问题 xml:

<RelativeLayout
    android:id="@+id/group_chat_form"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_marginTop="5dp"
    android:background="@drawable/transparent_background2" >

         <TextView 
        android:id="@+id/send_msg_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:background="@drawable/transparent_background2"
        android:text="Send" />


    <EditText

        android:id="@+id/group_chat_input_box"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignBottom="@id/send_msg_button"
        android:layout_toLeftOf="@id/send_msg_button"
        android:background="#00000000"
        android:hint="Type a message..."
        android:textColorHint="#EEEEEE"
        android:inputType="textMultiLine"
        android:maxLines="5"
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="4dp"
        android:paddingBottom="4dp"
        android:textColor="#FFFFFF"
        android:textSize="20sp"
        android:shadowColor="#000000"
        android:shadowRadius="3"
        android:shadowDx="3"
        android:shadowDy="3"/> 

  </RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

cod*_*gic 5

如何在 EditText 展开时使父布局展开?

这不起作用,因为 已EditText锚定到TextViewwith

android:layout_alignBottom="@id/send_msg_button"
Run Code Online (Sandbox Code Playgroud)

EditText试图向下扩展,但它不能,因为它不允许低于该点。

移除它并将其固定在顶部将解决该问题,但如果生长太多TextView,则会在放置时产生其他问题。TextViewEditText

我已经测试了评论中的一些建议,它似乎给出了您想要的内容。您将在下面找到我的示例,其中对背景和颜色进行了一些更改,只是为了与我的测试项目配合使用。

<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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

<RelativeLayout
    android:id="@+id/group_chat_form"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_marginTop="5dp"
    android:background="@drawable/abc_item_background_holo_dark" >

    <TextView
        android:id="@+id/send_msg_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignBottom="@id/group_chat_input_box"
        android:background="@drawable/abc_item_background_holo_light"
        android:text="Send" />


    <EditText

        android:id="@+id/group_chat_input_box"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_toLeftOf="@id/send_msg_button"
        android:background="#FFFFFF"
        android:hint="Type a message...Type a message...Type a message...Type a message...Type a message...Type a message...
        Type a message...Type a..."
        android:inputType="textMultiLine"
        android:maxLines="5"
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="4dp"
        android:paddingBottom="4dp"
        android:textColor="#FFFFFF"
        android:textSize="20sp"
        android:shadowColor="#000000"
        android:shadowRadius="3"
        android:shadowDx="3"
        android:shadowDy="3"/>

  </RelativeLayout>

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)