有没有办法使用某种物理参数(即英寸,像素等)来限制Android编辑文本字段的输入长度。我不想按字符数限制字段。
感谢您的帮助!
答案 0 :(得分:1)
您可以使用android:maxWidth="100dp"
,但这将设置View本身的最大宽度,并且不会影响允许输入的字符数。
我不相信有一种简单的方法可以实现你想要的。我唯一能想到的是使用TextWatcher并动态确定你想要的大小中适合的字符数(对于不同的设备,这将是不同的)。这仍然基本上是“按字符数限制字段”,尽管你声明你不想这样做。
你能详细说明你为什么要这样做吗?也许有更好的方法可以解决您所面临的整体挑战。
答案 1 :(得分:1)
您想要添加文本更改的侦听器(TextWatcher)。在您的监听器中,您需要测量字体的大小,屏幕的像素密度和字符数。将所有这些相乘,您应该知道文本的长度(有一些警告)。
话虽如此,这似乎是一个奇怪的限制,我不知道你为什么要这样。每个设备都会有不同的屏幕尺寸,因此以英寸为单位测量界面通常是一个坏主意。
答案 2 :(得分:0)
您可以在打印表单中找到多少个M,然后使用EditText.SetMaxEms确保输入可在表单上打印。
答案 3 :(得分:-1)
在EditText上试试这个
android:maxLength="10"