当我在 EditText 框中键入内容时,包含它的 RelativeLayout 不会展开。问题是我想要它。
这是问题的直观显示:
那里输入了大约 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>
最佳答案
How can I make the parent layout expand when the EditText expands?
这不起作用,因为 EditText
使用
TextView
android:layout_alignBottom="@id/send_msg_button"
EditText
试图向下扩展,但它不能,因为它不允许低于该点。
删除它并将其锚定到 TextView
的顶部将解决该问题,但如果 EditText
增长太多。
我已经从评论中测试了我的一些建议,它似乎给出了你想要的。您会在下面找到我的示例,其中一些背景和颜色的更改只是为了与我的测试项目一起使用。
<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>
关于android - 布局不会随 EditText 展开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28819065/