带有unicode字符或自定义字体的SoftKeyboard

时间:2010-09-16 15:43:47

标签: java android android-keypad

我们正在尝试为Android应用构建一个SoftKeyboard。键盘上显示的字符是亚洲语言字符。

任何指针都会有所帮助。

5 个答案:

答案 0 :(得分:3)

实际上,它取决于您将使用的字符在Android系统字体中是否受支持(可显示)。

如果,只需使用键盘xml定义中的unicode代码,例如:

<Key android:codes="946" android:keyLabel="\u03B2"/> 
<Key android:codes="946" android:keyLabel="&946;"/> 
<Key android:codes="946" android:keyLabel="β"/>  
<!-- Warning, you should use UTF-8 encoding for your project files if you use the third solution -->

都生成与希腊β字符相同的键(unicode \ u03B2,十进制946)

如果它们不是,那么您唯一的解决方案就是使用图标:键盘字符Typeface在Android KeyboardView.java源代码(方法onBufferDraw())中进行了硬编码,默认为{{ 1}}

答案 1 :(得分:0)

答案 2 :(得分:0)

我在Android中没有经验,但在Java ME中更多。对于移动设备以及桌面设备,unicode特征码无法完全按照要求进行渲染,因为字体可靠。用于渲染文本的字体必须包含所述字符代码,否则将显示?或暗矩形。您最好的解决方案似乎是图像字体(您当前使用的图标)。

答案 3 :(得分:0)

我也在使用软键盘并使用hashmap将bangla字符与代码一起映射,字体使我能够使用bangla字体进行候选视图,但是键盘键没有运气(它需要通过rooting在系统中输入字体),仍然从复杂的字体渲染开始,字形显示为破碎的字符,目前使用SQLite数据库进行预测,如果你知道如何使用.dict进行预测请告诉我:)。

答案 4 :(得分:0)

我们最终使用按钮图标。这似乎是最直接的方式。