更改Android KeyBoard语言

时间:2011-04-19 10:36:10

标签: android keyboard

如何更改Android键盘语言?

我在下面设置了代码来设置语言。 我在“设置”中设置了不同的语言并尝试设置英语语言。

Locale.setDefault(Locale.ENGLISH);
Configuration config = getResources().getConfiguration();
config.locale = Locale.ENGLISH;
getBaseContext().getResources().updateConfiguration(config, null);

2 个答案:

答案 0 :(得分:3)

更改locale只会将resources(例如,字符串,图片等)更改为为应用中特定locale定义的内容。要更改keyboard支持的语言,您必须确保在设备上安装了正确的input method (因为输入法本身也是一个应用程序,它将更改为相应的语言)。

例如,Nexus S上只有英语键盘,如果我需要支持其他语言的键盘,我需要找到支持该语言的input method,并安装它。

为了确保用户拥有一个,您可以发出警告以引起用户的注意,或者通过ACTION_XXX_SETTINGS意图将其带到键盘设置活动。

答案 1 :(得分:0)

(API 24+):如果您使用的是import typeDefs from './type-defs.graphql' / TextView,则可以致电TextView#setImeHintLocales(LocaleList)

EditText

注意::该功能仅适用于很少的键盘(在撰写本文时,GBoard可以使用,而SwiftKey则不能。)

注意:如果您希望新的“提示”立即生效,则需要致电textView.setImeHintLocales(new LocaleList(new Locale("zh", "CN")));