我有一个可用的自定义键盘(作为服务):
public class SimpleIME extends InputMethodService
implements KeyboardView.OnKeyboardActionListener {
它可以工作,但我想要做的是添加一种方式来显示一个(可滚动的)项目列表供用户选择,通过选择它,它将键入它。例如,(通过使用按下另一个选项卡或按钮),将显示不同的键盘布局/模式,它将显示可供选择的表情符号列表,除了我没有尝试使用表情符号,但引号和ascii面孔。
答案 0 :(得分:0)
在onKeyPress上创建另一个键盘并切换键盘,如下所示:
keyboardView.setKeyboard(anotherKeyboard);
您可以为许多不同的键盘执行此操作,只需在您想要的密钥代码到来时设置所需的键盘。
public final static int NUMERIC_KEYBOARD = -16;
public final static int DEFAULT_KEYBOARD = -17;
public void onKey(int primaryCode, int[] keyCodes) {
switch(primaryCode){
case NUMERIC_KEYBOARD:
kv.setKeyboard( numericKeyboard );
break;
case DEFAULT_KEYBOARD:
kv.setKeyboard( keyboard );
并在键盘上的xml:
<Key android:codes="-16" android:keyIcon="@drawable/keyboard_symbol" android:keyWidth="18.7%p"/>