android 应用程序中的 Edittext 切换为英语

Edittext switch to english in android application

我在 android 应用程序中有一个带有一堆编辑文本输入的布局。

一些输入要求用户以俄语输入数据。 最后一个字段是电子邮件字段。电子邮件可以是英文 (99%),也可以包括国际信件。因此,在焦点输入字段上将键盘切换为英语将非常方便(可以切换到另一种语言)。

我尝试强制使用英语,然后使用 .post 取消此限制:

emailEdit.setOnFocusChangeListener(new View.OnFocusChangeListener() {
    @Override
    public void onFocusChange(View v, boolean hasFocus) {
        if (hasFocus) {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
                emailEdit.setImeOptions(EditorInfo.IME_FLAG_FORCE_ASCII);
            }
            emailEdit.post(new Runnable() {
                @Override
                public void run() {
                    emailEdit.setImeOptions(EditorInfo.IME_ACTION_DONE);
                }
            });
        }
    }
});

但是这段代码只是强制键盘只能使用英语,而无法切换到另一种语言。

有什么方法可以在没有"english only"限制的情况下将输入文本软键盘切换为英文吗?

不,尤其是不是在所有键盘应用程序中。大多数键盘都有自己的输入语言——这不是 Android OS 的概念。所以它不能影响它。并且该标志可以通过不同的键盘以奇怪的方式解释。大多数人会忽略它。有些会将语言设置为英语。其他人会执行奇怪的翻译,例如将重音字符更改为其基本字符。应用程序对 Android.

上的键盘的控制确实非常有限