5

嗨,我正在研究android 软键盘。通常,按键上显示的标签是单个字符,如下所示

在此处输入图像描述

上面的操作是通过在键盘中使用Key 标签的keylabel属性来显示我们想要在键上的任何文本来完成的。但现在我的要求是在单个键上显示多个字符,如下所示

在此处输入图像描述

我通过使用android:keyIcon得到了一个解决方案,但限制是我需要可配置字符的颜色,以便用户可以更改任何字符的颜色。像1 和红色一样,| 用蓝色, q 用绿色。所以它必须可以配置为任何颜色。这就是为什么我跳过 keyIcon 属性来在字符上显示文本。

那么有什么方法可以在键上设置多个字符。

4

2 回答 2

1

android 框架提供的标准 KeyboardView 不支持显示辅助文本(或多个字符)。要实现您想要的功能,您需要继承 KeyboardView(或简称为 View)并实现其onDraw方法并直接绘制到 Canvas。

您可以使用提示标签检查latinIME KeyboardView的源代码,在该源代码中实现了它。您还需要编写自己的解析器来解析键盘 xml。你可以在这里查看它是如何在 LatinIME 中完成的。

了解 LatinIME 中的完整包键盘将对您的要求非常有帮助。

于 2013-10-21T17:36:32.380 回答
1

嗨,我已经通过参考自定义 <Key> 的外观来做到这一点

通过在三天后使用给定的代码,我得到了我的解决方案。

于 2013-10-28T06:13:10.087 回答