美文网首页
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