我一直关注this tutorial制作自定义键盘。到目前为止一切都很好。
但是,我想知道,是否可以创建一个输入预定义文本的按钮。例如。标有“名称”的按钮,用于输入用户名? 如果有可能,我该怎么办?我做了大量的研究,但什么都找不到。
答案 0 :(得分:1)
是的,这是可能的。在您的InputMethodService实现中定义新的密钥
private final static int NAME_CODE = -32; // value is absolutely random. The main requirement - there should not be coincidence with other codes
然后在onKey()方法中检查它
@Override
public void onKey(int primaryCode, int[] keyCodes) {
InputConnection ic = getCurrentInputConnection();
switch(primaryCode){
.....
case NAME_CODE:
ic.commitText(name, name.length());
break;
.....
之后只需使用此代码绑定Keyboard规范(示例中的qwerty.xml)和逻辑中的特殊键。
<Key android:codes="-32" android:keyLabel="NAME" android:keyWidth="20%p" android:isRepeatable="true"/>