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

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

我想要的是,例如,每当 EditText 期望俄罗斯焦点的现场,应该显示西里尔键盘布局。选择时, EditText 应该将一些常数传递给IME,后者可以用来决定是在拉丁语还是西里尔模式下显示。

理想情况下,只需指定一些自定义 InputType 为了 EditText 但这似乎不可能,是吗?这里的正确方法是什么?

有帮助吗?

解决方案

您的想法听起来不错。 IME的代码检查 InputType 在开关块和默认键盘布局中,如果 InputType 不匹配。

您还可以提供逻辑 onCreate() 您的方法 Activity 要检查哪种输入方法处于活动状态,并使用该信息选择哪个 inputType 您的 EditText 应该有。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top