Android KeyBoard.Key禁用iconPreview特殊键?

Joh*_*ith 5 keyboard android preview android-softkeyboard

我通过实现KeyboardView.OnKeyboardActionListener接口来自定义我自己的软键盘.

按下键时,它将显示预览弹出窗口.

我的问题是如何禁用SHIFT和DELETE等特殊键的预览弹出窗口?

我试图将android:iconPreview属性设置为null但它不起作用.

<Key
    android:codes="-1"
    android:keyIcon="@drawable/key_shift" 
    android:keyWidth="15%p"
    android:isModifier="true"
    android:isSticky="true"
    android:keyEdgeFlags="left" />
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

提前致谢!

小智 6

首先,您必须实现OnKeyboardActionListener

然后使用onPress()和onRelease()来控制预览弹出窗口,如下所示:

public void onPress(int primaryCode) {
    if (primaryCode==-2||primaryCode==-5||primaryCode==-4){
        mInputView.setPreviewEnabled(false);
    }
}

public void onRelease(int primaryCode) {
    mInputView.setPreviewEnabled(true);
}
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你的答复.我试过并遇到了一个问题:如果我按下其他键(例如键A)并将我的手指移动到键SHIFT,预览图标仍会弹出.有什么想法吗? (3认同)