gpt4 book ai didi

安卓 4.1 : How to "implement user installable keymaps"?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:12:30 25 4
gpt4 key购买 nike

描述:

“用户可安装的键盘映射”是在 http://developer.android.com/about/versions/jelly-bean.html 上为 Android 4.1 列出的一项功能。 .

上面写着:

The platform now supports user-installable keyboard maps, such as for additional international keyboards and special layout types. By default, Android 4.1 includes 27 international keymaps for keyboards, including Dvorak. When users connect a keyboard, they can go to the Settings app and select one or more keymaps that they want to use for that keyboard. When typing, users can switch between keymaps using a shortcut (ctrl-space). You can create an app to publish additional keymaps to the system. The APK would include the keyboard layout resources in it, based on standard Android keymap format. The application can offer additional keyboard layouts to the user by declaring a suitable broadcast receiver for ACTION_QUERY_KEYBOARD_LAYOUTS in its manifest.

所以.. 我想编写一个应用程序,它添加了一个新的键盘布局。因此,我必须创建一个新的 BroadcastReveiver,并在应用程序的 list 中为 ACTION_QUERY_KEYBOARD_LAYOUTS 声明它。该应用程序还提供了键盘映射文件。

那么,我的问题是:BroadcastReceiver 收到 ACTION_QUERY_KEYBOARD_LAYOUTS Intent 时,它必须做什么?

我已经进行了相当多的搜索 - 然而,只有包含 ACTION_QUERY_KEYBOARD_LAYOUTS 的网站我才能找到那些从 developer.android.com 复制上述描述的网站。

如果有任何帮助,我将不胜感激

问候,
兰德尔

最佳答案

您需要创建一个或多个合适的Key Character Map files ,作为原始资源文件命名为例如mykeyboard.kcm 在你的项目中。

将相关接收器添加到 list (AndroidManifest.xml),其中 KEYBOARD_LAYOUTS 指向一个 XML 资源,该资源将每个 .kcm 文件列为键盘布局。您最终不会编写任何实际的 Java 或 native 代码,只需编写 list 和资源文件。

https://github.com/tialaramex/BritishKeyboard

上面的链接是我今天早些时候碰巧构建的一个示例,它(主要)使英语(英国)键盘布局可用,而不仅仅是默认的美国键盘,例如按 SHIFT 和 2 得到双引号而不是 @ 符号。如果您对 Android 项目有所了解,希望这足够简单,可以遵循。

最终结果是,当您连接 USB 或蓝牙键盘时,设置键盘布局的提示会列出应用程序安装的任何其他键盘布局,在本例中是一个标有英语(英国)的键盘布局。

关于安卓 4.1 : How to "implement user installable keymaps"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13335681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com