1

我正在编写一个语言学习应用程序,目前只有德语<->俄语。

有几个EditTexts地方用户应该用一种或另一种语言输入文本。InputMethodService由于这些语言使用不同的字母,该应用程序通过实现和提供拉丁文和西里尔文键盘布局来使用自己的软键盘。每个EditText领域都知道预期使用哪种语言。

我想要的是,例如,每当需要EditText俄语的字段成为焦点时,应该显示西里尔字母键盘布局。选中后,EditText应该将一些常量传递给 IME,后者可以使用它来决定是以拉丁语还是西里尔语模式显示。

理想情况下,人们会简单地为 指定一些自定义InputTypeEditText但这似乎是不可能的,不是吗?这里的正确方法是什么?

4

1 回答 1

2

你的想法听起来不错。IME 对 switch 块中的 进行代码检查,如果不匹配,InputType则会显示默认键盘布局。InputType

您还可以在onCreate()您的方法中提供一个逻辑,Activity以检查哪个输入法处于活动状态,并根据该信息选择inputTypeEditText应该拥有的输入法。

于 2011-01-24T01:44:58.297 回答