【问题标题】:Android Custom Keyboard: How do I add the functionality of a list of items(ex. Emoticons)?Android 自定义键盘:如何添加项目列表的功能(例如表情符号)?
【发布时间】:2016-04-09 03:10:04
【问题描述】:
我有一个可用的自定义键盘(作为服务):
public class SimpleIME extends InputMethodService
implements KeyboardView.OnKeyboardActionListener {
它可以工作,但我想做的是添加一种方法来显示一个(可滚动的)项目列表供用户选择,并通过选择它,它会输入。例如,(通过使用另一个选项卡或按钮),将显示不同的键盘布局/模式,并将显示可供选择的表情符号列表,但我不是尝试使用表情符号而是引号和 ascii 面孔.
【问题讨论】:
标签:
android
keyboard
android-softkeyboard
【解决方案1】:
在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"/>