Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 具有unicode字符或自定义字体的软键盘_Java_Android_Android Keypad - Fatal编程技术网

Java 具有unicode字符或自定义字体的软键盘

Java 具有unicode字符或自定义字体的软键盘,java,android,android-keypad,Java,Android,Android Keypad,我们正在尝试为android应用程序构建一个软键盘。键盘上显示的字符是亚洲语言字符 任何提示都会有帮助 你看过教程了吗 我在安卓方面没有经验,但在Java ME方面更是如此。对于手机和台式机,unicode字符不可能完全按照要求呈现,因为它是可靠的字体。用于呈现文本的字体必须包含上述字符代码,否则将显示一个?或黑色矩形。您的最佳解决方案似乎是图像字体(您当前使用的图标)。实际上,这取决于android系统字体是否支持(可显示)您将使用的字符 如果是,只需在键盘xml定义中使用unicode代码即

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


任何提示都会有帮助

你看过教程了吗

我在安卓方面没有经验,但在Java ME方面更是如此。对于手机和台式机,unicode字符不可能完全按照要求呈现,因为它是可靠的字体。用于呈现文本的字体必须包含上述字符代码,否则将显示一个
或黑色矩形。您的最佳解决方案似乎是图像字体(您当前使用的图标)。

实际上,这取决于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()
)默认为
字体。默认为_BOLD

我也在使用软键盘,并使用hashmap将孟加拉语字符与代码进行映射,字体使我能够使用孟加拉语字体作为候选视图,但键盘键(它需要通过根插入系统中的字体)没有运气,仍然充斥着复杂的字体渲染,字形显示为断字符,当前使用SQLite数据库进行预测,如果您知道如何使用.dict进行预测,请告诉我:)

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

对。我们也玩过样品。现在,我们正在使用图标作为键。我想知道是否有另一种使用unicode的方法可以做到这一点。好的,如果你能让你的问题更具体地针对你的实际问题,可能会有所帮助。例如,如何在文本视图中显示亚洲语言unicode字符?