我正在尝试用我的母语创建一个键盘,其中某些字符是由其他字符组合而成的。 这是我尝试过的代码片段
<Key
android:codes="0x91C,0x094D,0x091E"
android:keyLabel="ज्ञ" />
<Key
android:codes="0x915,0x094D,0x937"
android:keyLabel="क्ष" />
<Key
android:codes="0x936,0x094D,0x930"
android:keyLabel="श्र" />
在第一个示例中 0x91C = ज,0x094D = ् ,0x091E = ञ; 我尝试在 Unicode 之间使用 +,但也没有尝试过。 有没有正确的语法或代码需要我在这里更新。
为示例分配一个代码点 - android:codes="116" 并在 InputMethodService 文件中定义一个方法定义该方法
public class IndicKeyboardService extends InputMethodService implements KeyboardView.OnKeyboardActionListener {
@Override
public void onKey(int primaryCode, int[] keyCodes) {
InputConnection inputConnection = getCurrentInputConnection();
if (inputConnection != null) {
switch (primaryCode) {
case 116: // Example code, match your actual key code
inputConnection.commitText("\u0924\u094D\u0930", 1);
break;
// Handle other keys...
default:
inputConnection.commitText(String.valueOf((char) primaryCode), 1);
break;
}
}
}
通过这种方式,您可以组合代码点来形成字形/连接词。