如何在android中动态增加EditText的大小?

Posted

技术标签:

【中文标题】如何在android中动态增加EditText的大小?【英文标题】:How do I increase the size of EditText dynamically in android? 【发布时间】:2020-12-03 08:13:07 【问题描述】:

我希望 EditText 的高度根据输入的文本大小动态增加。

就像 Whatsapp。

这就是我现在正在做的事情!

 <LinearLayout
    android:layout_alignParentBottom="true"
    android:layout_
    android:layout_
    android:layout_marginLeft="16dp"
    android:layout_marginRight="16dp"
    android:layout_marginBottom="8dp"
    android:orientation="horizontal">


    <EditText
        android:textSize="15dp"
        android:textColor="#000000"
        android:hint="Enter New Note"
        android:textColorHint="#8B111111"
        android:layout_
        android:layout_
        android:layout_gravity="center_vertical"
        android:gravity="center"
        android:imeOptions="actionDone"
        android:layout_marginTop="8dp"
        android:contentDescription="Enter Input Here"
        android:layout_marginBottom="8dp"
        android:id="@+id/editextNew"/>

</LinearLayout>

【问题讨论】:

只是进入活动并给它宽度/高度:) 对不起,我不明白@ParthPitroda 更改高度以换行内容并将最大行数添加到您想要的行数。 EditText 的大小在此之后开始变得非常小! @RituSumanMohanty 您的LinearLayout 的高度仍为 44dp。 【参考方案1】:

请试试这个:

 <LinearLayout
    android:layout_alignParentBottom="true"
    android:layout_
    android:layout_
    android:layout_marginLeft="16dp"
    android:layout_marginRight="16dp"
    android:layout_marginBottom="8dp"
    android:orientation="horizontal">


    <EditText
        android:textSize="15dp"
        android:textColor="#000000"
        android:hint="Enter New Note"
        android:maxLines="40"
        android:lines="20"
        android:textColorHint="#8B111111"
        android:layout_
        android:layout_
        android:layout_gravity="center_vertical"
        android:gravity="center"
        android:imeOptions="actionDone"
        android:layout_marginTop="8dp"
        android:contentDescription="Enter Input Here"
        android:layout_marginBottom="8dp"
        android:id="@+id/editextNew"/>

</LinearLayout>

【讨论】:

【参考方案2】:

您必须进行的唯一更改(两次都发生): android:layout_height="wrap_content"

【讨论】:

【参考方案3】:

因为你给它一个固定高度。将其更改为 wrap_content ,它应该可以工作。

您可以添加 android:maxLines 来限制它的扩展程度。

【讨论】:

以上是关于如何在android中动态增加EditText的大小?的主要内容,如果未能解决你的问题,请参考以下文章

如何在android中动态添加edittext?

如何指向在 Android 的 ListView 中动态生成的 EditText 元素?

Android 动态改变高度以及计算长度的EditText

如何从 Android 中每个动态创建的 EditText 获取数据?

从android中动态创建的edittext获取价值?

Android 如何使edittext默认失去焦点