我在Android应用程序中有一个带有一堆edittext输入的布局。

有些输入要求用户以俄语输入数据。
最后一个字段是电子邮件字段。电子邮件可以是英语(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);
                }
            });
        }
    }
});


但是此代码仅强制键盘使用英语,而不能切换到另一种语言。

有什么方法可以将输入文本软键盘切换为英语而没有“仅英语”限制?

最佳答案

不,尤其是并非在所有键盘应用程序中都如此。大多数键盘会保持自己的输入语言-这不是Android OS的概念。所以它不会影响它。而且该标志可以由不同的键盘以奇怪的方式解释。大多数人会忽略它。有些人会将语言设置为英语。其他人将执行奇怪的翻译,例如将重音符号更改为基本字符。在Android上,应用程序实际上对键盘的控制非常有限。

关于android - 在Android应用程序中将EditText切换为英语,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35470332/

10-12 02:43