2016-07-25 118 views
2

在我的应用程序中,用户选择一种语言,并且我希望在键盘打开时显示所选语言(如果它出现在键盘选项中)。键盘提供了这个选项,所以它应该是可能的。以编程方式更改键盘语言

+0

那你试试用这个选项提供? – AxelH

+0

当键盘打开时,您可以长按空格键并选择一种语言 – Belzebub

回答

3

关于如何做到这一点有一个很大的工作 - 这是创建自己的键盘,要做到这一点,你必须知道你的目标键盘。 (它将与普通键盘完全相同)

关于此主题的一般指南here & code samples

Create a custom keyboard View延伸keyboardView
在其中创建静态密钥值变量像

static final int KEYCODE_LANGUAGE_SWITCH_ENG = -102; 
static final int KEYCODE_LANGUAGE_SWITCH_URDU = -103; 
后,在您的IME类,你已经实现了inputMethodService

,创建onInitializeInterface重载函数里面的键盘。像

mSymbolsKeyboard = new Keyboard(this, R.xml.qwerty2); 
mEngQwertyKeyboard = new Keyboard(this, R.xml.eng_qwerty); 

在此之后在安其覆盖功能开关的情况下添加这些最后的静态密钥,并在情况设置相应的键盘:

setKeyboard(mEngQwertyKeyboard); 
+2

我已经看到此答案,但仍无法正确使用,请您提供一些详细信息? – Belzebub

+1

详细阐述了我的答案@Belzebub –

+0

我知道这个答案是我正在寻找的,但我仍然很难应用它。是否可以有更多的细节/解释? –