19

我正在用两种不同的语言开发一个 android 应用程序。当用户单击“更改语言”按钮时,它会要求从两种不同的语言选项中选择语言并根据该语言更改键盘。

例如:用户选择“阿拉伯语”语言,然后键盘输入语言应自动从英语变为阿拉伯语。

请帮我解决这个问题。

4

2 回答 2

9

这真的不太可能。您可以使用 stackoverflow 上已经存在的许多解决方案来更改用户区域设置:

以这里为例,或者这里为另一个

但是,这只会更改语言环境。你会遇到的问题是键盘本身就是一个应用程序。因此,您不能直接从您的应用程序更改它,也不能保证您的用户将拥有“阿拉伯语”字符集或插件或其他任何内容,因为他们使用的键盘应用程序。

如果您希望完成所需的工作,您唯一真正可靠的解决方案是创建自己的键盘输入。否则,将由用户将其键盘更改为阿拉伯语。

于 2012-09-06T15:44:56.670 回答
2

(API 24+):如果您使用的是TextView/ EditText,那么您可以调用TextView#setImeHintLocales(LocaleList)

textView.setImeHintLocales(new LocaleList(new Locale("zh", "CN")));

注意:如果您希望新的“提示”立即生效,您需要调用InputMethodManager#restartInput(View).

于 2020-06-07T19:02:48.340 回答