android - 布局不会随 EditText 展开

标签 android xml android-layout

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

这是问题的直观显示:

enter image description here

那里输入了大约 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/

相关文章:

android - Lollipop 版软键盘隐藏EditText

android - 支持 Android 的 Flash 游戏

android - `titleTextAppearance` 不工作

android-layout - 在 surfaceView 上添加一个可点击按钮

php - 意外的 T_String 错误和 rss

android - XmlPullParser getAttributeValue 返回 null

android - 单击 ListView 的 subview 时从 ListView 获取数据

javascript - Phonegap 本地数据库不会显示输入的数据

java - JSONException : No value for id

android - 在牛轧糖以下的操作系统版本上获得运行时异常