首页 > 解决方案 > 像whats app一样将edittext高度增加到5行

问题描述

我正在实现一个像 WhatsApp 这样的聊天应用程序,我想像 WhatsApp 一样扩展EditText多达 5 行。我正在使用以下代码来实现这一点,但它不起作用。我使用的代码EditText是:

<RelativeLayout
        android:id="@+id/BottomLayout"
        android:layout_width="match_parent"
        android:layout_height="@dimen/list_view_footer_height"
        android:layout_marginTop="@dimen/margin_0"
        android:background="#F8F7F7">

        <View
            android:layout_width="match_parent"
            android:layout_height="0.5dp"
            android:layout_marginTop="@dimen/margin_0"
            android:layout_marginBottom="@dimen/margin_0"
            android:background="#d3d3d3" />

        <ImageView
            android:id="@+id/add_icon"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:layout_marginLeft="@dimen/margin_7"
            android:layout_marginRight="@dimen/margin_7"
            android:scaleType="fitXY"
            app:srcCompat="@drawable/ic_add_black_24dp" />

        <ImageView
            android:id="@+id/task_list_right_nav_arrow"
            android:layout_width="36dp"
            android:layout_height="36dp"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:layout_marginLeft="@dimen/margin_7"
            android:layout_marginRight="@dimen/margin_7"
            android:scaleType="fitXY"
            android:src="@drawable/footer_send" />

        <EditText
            android:id="@+id/messageSend"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_toRightOf="@id/add_icon"
            android:layout_toLeftOf="@id/task_list_right_nav_arrow"
            android:textColorHint="#AEAEAE"
            android:hint="Message.."
            android:textColor="#333744"
            android:textSize="15sp"
            android:textStyle="normal"
            android:minLines="8"
            android:maxLines="5"
            android:singleLine="false"
            android:scrollbars="vertical"
            android:fadeScrollbars="false"
            android:background="@android:color/transparent"/>

    </RelativeLayout>

有人可以给我一个解决方案来满足我的要求吗?提前致谢。

标签: androidandroid-edittext

解决方案


您正在分配maxLines以及minLines属性给EditText. 将其代码更改为:

<EditText
            android:id="@+id/messageSend"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_toRightOf="@id/add_icon"
            android:layout_toLeftOf="@id/task_list_right_nav_arrow"
            android:textColorHint="#AEAEAE"
            android:hint="Message.."
            android:textColor="#333744"
            android:textSize="15sp"
            android:textStyle="normal"
            android:maxLines="5"
            android:singleLine="false"
            android:scrollbars="vertical"
            android:fadeScrollbars="false"
            android:background="@android:color/transparent"
            android:inputType="textMultiLine|textNoSuggestions"/>


推荐阅读