只是想知道,我是唯一一个遇到这种“奇怪”行为的人。
在我的活动中放置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属性,它将全部恢复正常。 我找不到有关此行为的已知问题。
BTW-如果你想知道为什么这很重要(不是那么多)试试 将两个EditText小部件一个放在另一个之下并设置inputType 其中一个“textpassword”它看起来不太好。 有关如何更改密码或其他edittexts使用相同格式的想法吗?谢谢
PS。首先在这里添加了一个问题:http://groups.google.com/group/android-developers/browse_thread/thread/88738bb8d8046f6f但我找不到答案。
答案 0 :(得分:8)
这是因为在密码字段的情况下,字体会自动设置为等宽字体。在密码字段上设置android:typeface="normal"
没有帮助。
来自TextView sources的代码:
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;
}
如果没有为提示实现带覆盖字体的自定义控件,我找不到解决方案。
P.S。:有一种解决方案,但并不总是可以接受 - 在其他EditText上将字体设置为等宽字体。
答案 1 :(得分:6)
执行mEditText.setTypeface(Typeface.DEFAULT);
为我解决了问题。