只是想知道,我是唯一遇到这种“奇怪”行为的人吗?
当在我的 Activity 中放置一个 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”看起来不太好。 关于如何更改密码或其他编辑文本以使用相同格式的任何想法?
谢谢
附言。这里先加问题:http://groups.google.com/group/android-developers/browse_thread/thread/88738bb8d8046f6f但我没有找到答案。
最佳答案
发生这种情况是因为在密码字段的情况下,字体自动设置为等宽字体。在密码字段上设置 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 上将字体设置为等宽。
关于android - EditText 提示在 inputType ="textpassword"时显示额外的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7245220/