LWUIT 开发教程(18):为软键盘定制新语言

LWUIT中的软键盘为纯Java 实现,因此可以支持定制。

可以使用Resource editor (后面介绍)来定制软键盘的一些属性。

VKB      定制软键盘显示
VKBtooltip 定制软键盘帮助提示
VKBButton 定制软键盘的普通按键
VKBSpecialButton 定制软键盘的特殊按键(如空格键等)
VKBTextInput 定制软键盘的输入文本框。

本例介绍如何为软键盘添加一种新语言,希伯来语Hebrew ,对于中文,由于汉字个数比较多,可以通过定义汉字库的方式添加中文支持。而不像本例可以将希伯来字母定义成数组。

private static final String[][] DEFAULT_HEBREW = new String[][]{
{"\u05e7", "\u05e8", "\u05d0", "\u05d8", "\u05d5", "\u05df", "\u05dd",
 "\u05e4", "$Delete$"},
{"\u05e9", "\u05d3", "\u05d2", "\u05db", "\u05e2", "\u05d9", "\u05d7",
 "\u05dc", "\u05da"},
{"\u05d6", "\u05e1", "\u05d1", "\u05d4", "\u05e0", "\u05de", "\u05e6",
 "\u05ea", "\u05e5"},
{"$Mode$", "$Space$", "\u05E3", "$OK$"}};

然后创建一个VirtualKeyboard的子类:

public static class HebrewK extends VirtualKeyboard {

 public HebrewK() {
 addInputMode("?05d0?05d1?05d2", DEFAULT_HEBREW);
 setInputModeOrder(new String[]{"?05d0?05d1?05d2", QWERTY_MODE,
 NUMBERS_SYMBOLS_MODE, NUMBERS_MODE, SYMBOLS_MODE
 });
 }
}

最后在Display.init之前,调用VKBImplementationFactory.init(HebrewK.class);将其设置为缺省语言。