Android自定义键盘:如何添加项目列表的功能(例如表情符号)?

时间:2016-01-05 10:18:34

标签: android keyboard android-softkeyboard

我有一个可用的自定义键盘(作为服务):

public class SimpleIME extends InputMethodService
    implements KeyboardView.OnKeyboardActionListener {

它可以工作,但我想要做的是添加一种方式来显示一个(可滚动的)项目列表供用户选择,通过选择它,它将键入它。例如,(通过使用按下另一个选项卡或按钮),将显示不同的键盘布局/模式,它将显示可供选择的表情符号列表,除了我没有尝试使用表情符号,但引号和ascii面孔。

1 个答案:

答案 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"/>