如何在Android程序中以编程方式更改西班牙语键盘的语言

3

我正在开发一个应用程序,其中有一个选择语言的选项。有两个单选按钮,一个是西班牙语,另一个是英语。当用户选择西班牙语时,我需要将键盘切换为西班牙语。我该怎么做?请回复我。


无法实现您想要的功能。如果您想要一个不同的西班牙语/英语键盘,唯一的选择是创建自己的虚拟键盘,这需要一些工作。 - Carnal
谢谢,Carnal。你能帮我学习如何制作虚拟键盘吗? - eva
2个回答

4

有人可能会纠正我,但我相当确定在运行时没有这样的选项。键盘本身就是一个应用程序,因此要更改输入语言,用户必须在他们正在使用的键盘设置中自己进行更改。您无法从您的应用程序中更改它。


谢谢您的回答。您有任何链接可以让我更清楚地了解吗? - eva
我刚刚搜索了一下,正如我所怀疑的那样,这个问题已经被问过了。在这里:https://dev59.com/2Wct5IYBdhLWcg3wKqQd。 - D.Bish

0

在Android中,只要用户在安装时同意将系统设置的控制权交给您的应用程序,您就可以几乎做任何事情。

基本上,您可以获取当前设置并编辑语言所包含的值,如下所示:

    Resources res = context.getResources();
    // Change locale settings in the app.
    DisplayMetrics dm = res.getDisplayMetrics();
    android.content.res.Configuration conf = res.getConfiguration();
    conf.locale = new Locale(language_code.toLowerCase());
    res.updateConfiguration(conf, dm);

希望有所帮助

谢谢Dendini。我已经使用过了。它只能用于更改应用程序的字符串。而我需要在用户点击编辑文本时更改键盘语言。 - eva
你应该在问题中指出你已经尝试了什么。我不明白你所说的“应用程序字符串”的意思,但是在系统设置下,你可以更改系统语言甚至区域设置。完整列表请参见http://developer.android.com/reference/android/provider/Settings.System.html。 - dendini

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接