EditText不会扩展布局

时间:2015-03-02 20:41:23

标签: 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>

1 个答案:

答案 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>