根据产品要求,需要自定义键盘以契合整个app风格。网上花了不少时间,发现很多的demo倾入性太强,需要把键盘对应的view放在布局底部,还要处理物理返回键的逻辑,使用起来不是特别方便。参考了很多大佬的代码后,稍微改进了一点点,源码见底部。
具体思路:自定义一个输入框KeyboardEditText,继承自EditText,点击输入框时键盘作为dialog从底部弹出。一共有6种类型键盘。
image.png
如何使用:把KeyboardEditText当作EditText,引入到布局中,使用自定义属性,指定键盘的类型(上图就是键盘类型)即可。因为自定义键盘需要多个xml文件和一些图片,为了方便使用,我把整个键盘作为一个module,方便引入和删除。
以下是键盘的实际效果。
纯数字键盘.png
带点的数字键盘.png
股票代码键盘.png
股票数量键盘.png
可切换字母键盘的数字键盘.png
字母键盘.png