在项目开发过程中,需要用到自定义的数字软键盘,在网上查找了下资料,发现网上KeyboardUtil模式的软键盘并不能满足项目开发需求,因此,我干脆就自己写了一套关于软键盘的组件。废话不多说,先上效果图:
软键盘需要和数字输入框以及确认按钮一起弹出,普通的软键盘样式无法满足要求,这里主要从两个部分来讲述,一个是数字键盘,输入框的绘制,另外一个就是两者之间的交互。
一.UI绘制
UI绘制主要分三块,第一块是从顶部弹出的title,第二块是从底部弹出键盘,第三块是空白部分的半透明蒙版。
1.数字键盘和输入框的的绘制
1)数字键盘很简单,是由TextView拼接而成。
2)输入框的绘制是我遇到的第一个难点,首先是布局,Android的分辨率各式各样,为了保证输入框始终是不变形(保持为正方形且等分整个布局),这里在代码里进行控制,获取屏幕的宽度,然后再计算出框的大小。输入框还需要
根据不同的参考价,显示不同的输入框数目,其中包括小数点,其实就是根据传入的参数,隐去不必要的输入框,这一块属于业务逻辑部分,就不多赘述了。