android - 以编程方式更改键盘语言

标签 android

在我的应用程序中,用户选择一种语言,我想在键盘打开时显示所选语言(如果它存在于键盘选项中)。键盘提供了该选项,所以它应该是可能的。

最佳答案

关于如何做到这一点有很多工作要做 - 即创建您自己的键盘,要做到这一点,您必须知道您要使用的键盘。 (这将与常规键盘完全相同)

关于该主题的一般指南 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;

之后,在您已实现 inputMethodService 的 IME 类中,在 onInitializeInterface 覆盖函数内创建键盘。喜欢

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

在此之后,将这些最终静态键添加到 onKey 覆盖函数中作为 switch case,并在 case 中相应地设置键盘:

setKeyboard(mEngQwertyKeyboard);

关于android - 以编程方式更改键盘语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38569922/

相关文章:

java - 将数据保存到 CouchDB 服务器的 HTTP PUT 请求 - Java Android?

android - 忽略 jacoco 测试覆盖率中的失败测试

android - 将 View 置于 ImageView 的前面 - Android XML

java - Android Webview 应用程序,上传图片不起作用,点击选择照片时没有任何反应

java - 在不存在 NDK 的情况下使用基于 JNI 的 Android 库

android - 谷歌游戏控制台 : Package name of your Instant App APKs should be the same as your app's package name

java - 如果您有多个应用程序,则为 android 包名称

android - 带有可扩展子项的 ViewPager

android - GridView : Get a view by position

android - CircleCI - 找不到 Android Studio 项目的 SDK 位置