如何将呈现给用户的Android键盘限制为拉丁语?

如何将呈现给用户的Android键盘限制为拉丁语?,android,android-edittext,Android,Android Edittext,我有一个应用程序,要求用户在12月32日和126日之间输入ASCII密码。这意味着只有拉丁字符和数字键盘才能进行编辑。但是,当我启动edittext时,会向用户显示西里尔字母键盘 我的问题是,如何确保只向用户提供拉丁语键盘?无法强制IME使用特定的语言/字符集。然而,如果您将EditText设置为键入密码,大多数软件键盘将自身限制为ASCII+数字。这是在不编写自己的输入法的情况下得到的最接近的结果 <EditText android:password="true" ... />

我有一个应用程序,要求用户在12月32日和126日之间输入ASCII密码。这意味着只有拉丁字符和数字键盘才能进行编辑。但是,当我启动edittext时,会向用户显示西里尔字母键盘


我的问题是,如何确保只向用户提供拉丁语键盘?

无法强制IME使用特定的语言/字符集。然而,如果您将EditText设置为键入密码,大多数软件键盘将自身限制为ASCII+数字。这是在不编写自己的输入法的情况下得到的最接近的结果

<EditText
 android:password="true"
 ...
 />

尝试将其添加到xml中:

<EditText
    android:inputType="text"
    android:digits="0,1,2,3,4,5,6,7,8,9,*,qwertzuiopasdfghjklyxcvbnm" />


此方法将限制有效字符集,但不会影响显示的键盘。如果我使用这种方法,这些值将不会传播到预览。您尝试过吗?inputType定义了键盘应该显示的键,现在只是过滤。然而,如果它仍然显示西里尔键盘,那么我就无能为力了。你用的是快捷键吗?我用的是标准的安卓键盘。不,这种方法不能解决我遇到的问题。据我所知,这是不可能的,因为你必须在键盘设置中实际更改语言(至少对于快捷键)。这不会发生在运行时。这种方法不会限制键盘显示为拉丁输入法。正如我所说,你不能强迫输入法显示。有些设备甚至没有安装LatinIME。如果您希望处于绝对控制状态,则必须编写自己的输入视图。应用程序中的“视图”,而不是输入法,因为用户可以切换到不同的输入法。