Android:设置编辑文本字段的物理长度的方法

时间:2012-07-24 15:11:06

标签: android user-interface android-edittext

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

感谢您的帮助!

4 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

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

答案 3 :(得分:-1)

在EditText上试试这个

android:maxLength="10"