1

有没有办法使用某种物理参数(即英寸、像素等)来限制 Android 编辑文本字段的输入长度。我不想通过字符数来限制字段。

谢谢您的帮助!

4

4 回答 4

1

您可以使用android:maxWidth="100dp",但这将设置视图本身的最大宽度,并且不会影响允许输入多少个字符。

我不相信有一种简单的方法可以完成你想要的。我唯一能想到的是使用 TextWatcher 并动态确定有多少字符适合您想要的大小(对于不同的设备会有所不同)。这仍然基本上是“按字符数限制字段”,尽管您声明您不想这样做。

你能详细说明你为什么要这样做吗?也许有更好的方法来解决您面临的整体挑战。

于 2012-07-24T15:17:15.107 回答
1

您想添加一个文本更改侦听器 ( TextWatcher )。在您的听众中,您需要测量字体的大小、屏幕的像素密度以及字符数。将所有这些相乘,您应该知道文本的物理长度(有一些警告)。

话虽如此,这似乎是一个奇怪的限制,我不确定你为什么想要这个。每台设备都会有不同的屏幕尺寸,因此以英寸为单位测量界面通常是个坏主意。

于 2012-07-24T15:18:37.227 回答
0

您可以找到打印表单中适合多少 M,然后使用EditText.SetMaxEms确保输入可在表单上打印。

于 2012-07-24T15:32:27.157 回答
-1

在你的 EditText 上试试这个

android:maxLength="10"
于 2012-07-24T15:16:34.293 回答