如何删除可重复的按键,Android自定义键盘的按键预览

如何删除重复键,Android自定义键盘的键预览。 我使用下面的方法删除我想要的键的键预览。 但是这种方法不适用于可重复键。 (android:isRepeatable =“true”)如果密钥不可重复,则以下方法正在工作。

删除键xml

<Key android:codes="-5"
        android:keyWidth="13%p"
        android:keyIcon="@drawable/ic_key_delete_white"
        android:keyBackground="@color/dark_key_background"
        android:isRepeatable="true"
        android:horizontalGap="3.5%p"
        android:keyEdgeFlags="right"/>

输入法服务类

@Override
public void onPress(int primaryCode) {
    if (primaryCode == -1 
            || primaryCode == -5){
        kv.setPreviewEnabled(false);
    }
}

@Override
public void onRelease(int primaryCode) {
    if(primaryCode == -1 
            || primaryCode == -5){
        kv.setPreviewEnabled(true);
    }
}

反转setPreviewEnabled标志..

public void onCreate() {

    mInputView.setPreviewEnabled(false);

}

public void onPress(int primaryCode) {
    if (primaryCode==-1||primaryCode==-2||primaryCode==-5||primaryCode==-4){

    } else {
       mInputView.setPreviewEnabled(true);
    }
}

public void onRelease(int primaryCode) {
    mInputView.setPreviewEnabled(false);
}

在下面的例子中,我们有两个可重复的键(空格和删除)

第1步:在onCreateInputView()中将PreviewEnabled设置为“false”:

kv.setPreviewEnabled(false);

第2步:在onPress()中添加以下if-else语句:

public void onPress(int primaryCode) 
{
   if (!(primaryCode==32||primaryCode==Keyboard.KEYCODE_DELETE))
   {
       kv.setPreviewEnabled(true);
   }
   else
   {
       kv.setPreviewEnabled(false);
   }
}

第3步:在onRelease()中将PreviewEnabled设置为“false”:

public void onRelease(int primaryCode) 
{
   kv.setPreviewEnabled(false);
}
链接地址: http://www.djcxy.com/p/83875.html

上一篇: How to remove repeatable keys, key preview of the Android custom keyboard

下一篇: Matching data in JsonPath with wiremock