如何使用 android:inputType="textPassword" 在密码 EditText 中键入非英文文本

How to type Non-English text in a password EditText with android:inputType="textPassword"

我的应用程序中有一个带有 "textPassword" inputType 的 EditText,我尝试设置一个非英语密码,但 inputType 不允许我选择其他语言。 也许我的应用程序用户更喜欢设置波斯语密码。

See The Picture, Please

有什么想法吗?

inputType 被视为对键盘应用程序如何处理特定文本字段的 提示 ,即使某些键盘确实允许非英语密码,您不能指望所有键盘应用程序都表现得像那样。

不要使用 inputType,而是将 password 字段设置为 true,这会导致字符在屏幕上隐藏,但可以让您获得任何输入,您可能还应该关闭建议(使用 inputType 字段):

<EditText
    android:id="@+id/password"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:inputType="text|textShortMessage|textNoSuggestions"
    android:password="true"/>

更新

您可以使用一些文本 inputType 创建纯文本 EditText,只需将字符设置为点而不是纯文本即可:

EditText passwordView = (EditText) layout.findViewById(R.id.password);
passwordView.setTransformationMethod(PasswordTransformationMethod.getInstance());