我们正在尝试为 Android 应用程序构建软键盘。要在键盘上显示的字符是亚洲语言字符。
任何指针都会有所帮助。
实际上,这取决于 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)
如果不是,那么您唯一的解决方案是使用图标:键盘字符字体在 android KeyboardView.java 源代码(方法onBufferDraw()
)中硬编码,默认为Typeface.DEFAULT_BOLD
我在 Android 方面没有经验,但在 Java ME 方面更多。在移动设备和台式机的情况下,unicode 字符不可能完全按照要求呈现,因为它是可靠的字体。用于渲染文本的字体必须包含所述字符代码,否则?
将显示一个或黑色矩形。您最好的解决方案似乎是图像字体(您当前使用的图标)。
我还在开发软键盘并使用 hashmap 将孟加拉字符与代码映射,字体使我能够将孟加拉字体用于候选视图,但键盘键没有运气(它需要通过生根在系统中安装字体),仍然遭受复杂的痛苦字体渲染,字形显示为断字符,目前使用 SQLite 数据库进行预测,如果您知道如何使用 .dict 进行预测,请告诉我:)。
我们最终使用了按钮图标。这似乎是最直接的方式。