当我输入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>
答案 0 :(得分:4)
如何在EditText展开时展开父布局?
这不起作用,因为EditText
已锚定到TextView
android:layout_alignBottom="@id/send_msg_button"
EditText
正试图向下扩展,但它不能,因为它不允许低于该点。
删除此内容并将其锚定到TextView
的顶部将解决该问题,但如果TextView
增长过多,则会导致EditText
的展示位置出现其他问题。
我已经从评论中测试了一些我的建议,它似乎给了你想要的东西。您将在下面找到我的示例,其中包含bg和颜色的一些更改,以便与我的测试项目一起使用。
<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>