Android 键盘输入预定义文本
Android Keyboard input predefined text
我一直在关注 this tutorial 如何制作自定义键盘。到目前为止一切顺利。
但是,我想知道是否可以创建一个按钮来输入预定义的文本。例如。标有 "Name" 的按钮用于输入用户名?
如果可能的话,我该怎么做?我做了广泛的研究,但一无所获。
是的,这是可能的。在您的 InputMethodService 实现中定义新的 keycode
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;
.....
然后只需使用此代码绑定键盘规范(示例中的qwerty.xml)和逻辑中的特殊键。
<Key android:codes="-32" android:keyLabel="NAME" android:keyWidth="20%p" android:isRepeatable="true"/>
我一直在关注 this tutorial 如何制作自定义键盘。到目前为止一切顺利。
但是,我想知道是否可以创建一个按钮来输入预定义的文本。例如。标有 "Name" 的按钮用于输入用户名? 如果可能的话,我该怎么做?我做了广泛的研究,但一无所获。
是的,这是可能的。在您的 InputMethodService 实现中定义新的 keycode
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;
.....
然后只需使用此代码绑定键盘规范(示例中的qwerty.xml)和逻辑中的特殊键。
<Key android:codes="-32" android:keyLabel="NAME" android:keyWidth="20%p" android:isRepeatable="true"/>