当inputType =“textpassword”时,EditText提示显示额外的空格

只是想知道,我是唯一遇到这种“奇怪”行为的人。

在我的活动中放置一个EditText并设置其inputType =“textPassword”如下所示:

<EditText android:text="" android:id="@+id/EditText01" android:hint="This is a hint" android:inputType="textPassword" android:layout_width="wrap_content" android:layout_height="wrap_content"></EditText> 

提示在单词之间显示更大/双倍的空格。

如果我删除了inputType属性,它将全部恢复正常。 我找不到有关此行为的已知问题。

顺便说一句,如果你想知道为什么这是重要的(它不是那么多)尝试将两个EditText小部件一个在另一个之下,并将其中一个inputType设置为“textpassword”它看起来不好。 任何想法如何更改密码或其他edittexts使用相同的格式?

谢谢

PS。 问题首先在这里添加: http : //groups.google.com/group/android-developers/browse_thread/thread/88738bb8d8046f6f但我没有find答案。

Solutions Collecting From Web of "当inputType =“textpassword”时,EditText提示显示额外的空格"

发生这种情况是因为在密码字段的情况下字体会自动设置为等宽字体。 在密码字段上设置android:typeface="normal"不会有帮助。

这里来自TextView源代码:

 if (password) { setTransformationMethod(PasswordTransformationMethod.getInstance()); typefaceIndex = MONOSPACE; } else if ((mInputType&(EditorInfo.TYPE_MASK_CLASS |EditorInfo.TYPE_MASK_VARIATION)) == (EditorInfo.TYPE_CLASS_TEXT |EditorInfo.TYPE_TEXT_VARIATION_PASSWORD)) { typefaceIndex = MONOSPACE; } 

我不能find解决scheme没有实现自定义控制与重写字体的提示。

PS:有一个解决scheme,但它并不总是可以接受的 – 将字体设置为其他EditText上的等宽字体。

mEditText.setTypeface(Typeface.DEFAULT); 为我解决了这个问题。