首页 > 解决方案 > 在 Java 中的 editText 中设置长度限制

问题描述

在我的 Android 应用程序中,我将使用带有editText. 然后,我会将它发送给a textView,以在随后的活动中显示。但是,我有一个有限的区域。这就是为什么我必须限制名称的长度。在 XML 中,我们可以使用名为maxLength. 但是,我不想使用它,因为我想将文本限制在设计范围内。

我将可视化我不想使用此方法的原因。假设这个人想用 8-Z(ZZZZZZZZ) 作为名字;另一方面,另一个人想要使用 8-i(iiiiiiiii)。当然,它们的实际长度在设计上会有所不同。所以,我想根据设计上的长度而不是字符长度来限制名称。我正在等待您的贡献和建议。

标签: javaandroidxmlandroid-layout

解决方案


您可以使用一行TextView来缩放TextSize并在其布局范围内调整整个文本。

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:autoSizeTextType="uniform"
    app:autoSizeMinTextSize="8dp"
    app:autoSizeMaxTextSize="12dp"
    app:autoSizeStepGranularity="1dp" 
    android:singleLine="true"
    android:maxLines="1"/>

推荐阅读