我正在用两种不同的语言开发一个Android应用程序。当用户点击“更改语言”按钮时,它会要求从两种不同语言中选择语言选项,并根据该语言更改键盘。
例如:用户选择“阿拉伯语”语言,然后键盘输入语言应自动从英语更改为阿拉伯语。
请帮我解决此问题。
答案 0 :(得分:8)
实际上并非如此。您可以使用stackoverflow上存在的许多解决方案来更改用户区域设置:
Here for example或here for another。
但是,这只会更改区域设置。您将遇到的问题是键盘本身就是一个应用程序。因此,您不能直接从您的应用程序更改它,也不能保证您的用户将拥有“阿拉伯语”字符集或插件或其他任何内容,因为他们使用的键盘应用程序。
如果您希望完成所需的操作,那么您唯一真实可靠的解决方案就是创建自己的键盘输入。否则,将在用户手中将键盘更改为阿拉伯语。
答案 1 :(得分:1)
(API 24+):如果您使用的是TextView
/ EditText
,则可以致电TextView#setImeHintLocales(LocaleList)
textView.setImeHintLocales(new LocaleList(new Locale("zh", "CN")));
注意:如果您希望新的“提示”立即生效,则需要致电InputMethodManager#restartInput(View)
。