如何在EditText中输入时自动调整(放大)ListView?

时间:2016-07-06 19:57:41

标签: android android-layout listview

所以我有一个ListView(用于聊天消息)和一个编辑文本(写消息)。我希望EditText在制作空行时自动放大。如何在编写> 100个字符时将EditText放大到右边?

我试过这个,但它不起作用:

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/xmpp_chatdetail_tv_partnerID"
        android:background="@drawable/green_hsrt_1_default_CMYK_100_10_55_0"
        android:layout_width="match_parent"
        android:layout_height="90sp"
        android:gravity="center"
        android:padding="6dip"
        android:textColor="@color/white"
        android:layout_weight="0.125"
        android:textSize="20sp">
    </TextView>


    <ListView
        android:id="@android:id/list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:divider="@null"
        android:dividerHeight="0dp"
        android:paddingBottom="10dp"
        android:stackFromBottom="true"
        android:transcriptMode="alwaysScroll"
        android:layout_above="@+id/form"
        android:layout_below="@+id/xmpp_chatdetail_tv_partnerID" />

    <LinearLayout
        android:id="@+id/form"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:orientation="horizontal"
        android:paddingBottom="2dp" >


        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="50dp">

            <EditText
                android:id="@+id/editText_xmpp_chat"
                android:layout_width="1sp"
                android:layout_height="wrap_content"
                android:layout_weight="0.61"
                android:ems="10"
                android:maxHeight="80sp"
                android:hint="@string/hint_text"
                android:textColor="@color/black"
                android:textColorHint="@color/grey"
                android:textSize="25sp"
                android:layout_alignParentBottom="true"
                android:layout_alignParentTop="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_toLeftOf="@+id/btn_xmpp_send"
                android:layout_toStartOf="@+id/btn_xmpp_send"
                android:inputType="textCapSentences|textMultiLine"
                android:maxLength="255"
                android:maxLines="4" />

            <ImageButton
                android:id="@+id/btn_xmpp_send"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/btn_send_xmpp"
                android:text="@string/send"
                android:layout_alignParentTop="true"
                android:layout_alignParentRight="true"
                android:layout_alignParentEnd="true"
                android:layout_alignParentBottom="true" />
        </RelativeLayout>

    </LinearLayout>


</RelativeLayout>

提前致谢!

1 个答案:

答案 0 :(得分:0)

这种布局可以解决问题。尝试一下,让我知道它是否有效。

我删除了layout_weight属性,因为它们不适用于相对布局。

BEGIN