当textMultiLine换行到新行时,Android会增加父级的高度

时间:2012-07-31 16:51:11

标签: android android-layout android-edittext

我有一个显示聊天会话的片段,然后在其下方EditTextButton

现在我的RelativeLayout的高度包含EditTextButton硬编码。

我如何使RelativeLayout高度仅为单行EditText的高度,并且当用户键入足够的文本以保证新的文本行动态重新调整高度是否足够大,以包含现在更大的EditText

对于使用Google语音应用或点评应用的任何人,您都可以在回复邮件时看到这一点。

我在下面列出了我当前的布局。

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <RelativeLayout
        android:id="@+id/bottom_bar"
        android:layout_width="fill_parent"
        android:layout_height="90dp"
        android:layout_alignParentBottom="true"
        android:minHeight="60dp" >

        <ImageButton
            android:id="@+id/sendButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="false"
            android:layout_alignParentRight="true"
            android:layout_centerInParent="false"
            android:layout_centerVertical="true"
            android:background="@null"
            android:onClick="sendMessage"
            android:paddingBottom="15dp"
            android:paddingRight="5dp"
            android:paddingTop="10dp"
            android:src="@drawable/send" />

        <EditText
            android:id="@+id/sendText"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="false"
            android:layout_centerVertical="true"
            android:layout_marginBottom="5dp"
            android:layout_marginTop="5dp"
            android:layout_toLeftOf="@id/sendButton"
            android:hint="Enter Message"
            android:inputType="textMultiLine" >

        </EditText>

    </RelativeLayout>

    <fragment
        android:id="@+id/chatfragment"
        android:name="android.support.v4.app.ListFragment"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_above="@id/bottom_bar"
        android:layout_alignParentTop="true" />

</RelativeLayout>

1 个答案:

答案 0 :(得分:3)

您是否尝试将嵌套RelativeLayout的高度设置为wrap_content

<RelativeLayout
    android:id="@+id/bottom_bar"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:minHeight="60dp" >