【问题标题】:Change Android KeyBoard language更改 Android 键盘语言
【发布时间】:2011-08-08 13:47:55
【问题描述】:

如何更改 Android 键盘语言?

我设置了以下代码来设置语言。 我从设置中设置了不同的语言并尝试设置英语。

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

【问题讨论】:

    标签: android keyboard


    【解决方案1】:

    更改locale 只会将resources(例如字符串、图像等)更改为为应用程序中的特定locale 定义的那些。要更改keyboard 支持的语言,您必须确保在设备上安装了正确的input method (因为输入法本身也是一个app,所以会换成对应的语言)。

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

    为确保用户拥有一个,您可以发出一些警报以引起用户的注意,或者通过ACTION_XXX_SETTINGSintent 将他们带到键盘设置活动。

    【讨论】:

      【解决方案2】:

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

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

      注意:这适用于极少数键盘(在撰写本文时,GBoard 有效,而 SwiftKey 无效)。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-02
        • 2011-08-19
        • 1970-01-01
        • 2011-09-14
        • 2023-03-04
        • 2016-12-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多