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.
上的键盘的控制确实非常有限
我在 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.
上的键盘的控制确实非常有限