android - 将 edittext 高度增加到 5 行,就像在 whatsapp 中一样

标签 android android-edittext

我正在实现一个像 WhatsApp 这样的聊天应用程序,我想将 EditText 扩展到 5 行,就像在 WhatsApp 中一样。我正在使用以下代码来实现它,但它不起作用。我用于 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>

任何人都可以给我一个解决方案来实现我的要求吗? 提前致谢。

最佳答案

您正在将 maxLinesminLines 属性分配给 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"/>

关于android - 将 edittext 高度增加到 5 行,就像在 whatsapp 中一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54919962/

相关文章:

android - 如何在失去焦点后为 TextInputLayout 设置提示颜色

android - Skobbler折线不画线

java - 从不同的类文件调用方法来执行任务

android - 悬停效果在 Android 浏览器中不起作用

java - 当编辑文本突出显示时向用户显示手动键盘

android - 如何防止键盘隐藏我的 EditText?

android - Material 组件默认为色素而不是colorPrimary

android - 如何检测Android上的UI线程?

java - 如何在延迟时间后激活(打开键盘)EditText?

android - 如何知道 EditText 中的按键