美文网首页
android 自定义车牌省份键盘,点击键盘按钮无响应

android 自定义车牌省份键盘,点击键盘按钮无响应

作者: sybil052 | 来源:发表于2018-11-05 16:57 被阅读0次

问题

自定义车牌省份键盘KeyboardView.OnKeyboardActionListener中onPress(int primaryCode)方法,打印参数primaryCode为0

解决办法

新建KeyBoard类继承android.inputmethodservice.Keyboard,重写getNearestKeys()方法。

package com.sybil052.xxx.views;

import android.content.Context;
import android.inputmethodservice.Keyboard;

import java.util.List;

public class KeyBoard extends Keyboard {
    public KeyBoard(Context context, int xmlLayoutResId) {
        super(context, xmlLayoutResId);
    }

    public KeyBoard(Context context, int xmlLayoutResId, int modeId, int width, int height) {
        super(context, xmlLayoutResId, modeId, width, height);
    }

    public KeyBoard(Context context, int xmlLayoutResId, int modeId) {
        super(context, xmlLayoutResId, modeId);
    }

    public KeyBoard(Context context, int layoutTemplateResId, CharSequence characters, int columns, int horizontalPadding) {
        super(context, layoutTemplateResId, characters, columns, horizontalPadding);
    }

    @Override
    public int[] getNearestKeys(int x, int y) {
        List<Key> keys = getKeys();
        Key[] mKeys = keys.toArray(new Key[keys.size()]);
        int i = 0;
        for (Key key : mKeys) {
            if(key.isInside(x, y)) {
                return new int[]{i};
            }
            i++;
        }
        return new int[0];
    }
}

相关文章

网友评论

      本文标题:android 自定义车牌省份键盘,点击键盘按钮无响应

      本文链接:https://www.haomeiwen.com/subject/upgsxqtx.html