GridePasswordView的输入框
2016-09-12 本文已影响11人
一直在变的风
1.微信支付输入框的输入效果

手机号的中间4位可以输入和删除,点击手机号位置可以弹出输入框。看着很简单,其实自己写的话,会出现各种问题。
2.尝试过的方法
不用想就知道,都失败了,苦虐了我4天。真的都要崩溃了,想想还是自己太菜。
第一种:放了3TextView+4Editext+4TextView,通过键盘输入给这个4Editext赋值。
问题1:怎么给每个方格设置只能放一个数字?

问题2:输入完后,下一个方格怎么获得焦点,继续输入?

问题3:删除操作,删除一个方格后,如果继续删除,怎么跳到上一个方格?
给Editext添加键盘删除键的监听,键盘按键也属于Key事件。

问题4:输入框收起了,怎么在弹起来?
就是因为这个问题,没有很好解决,所以这个方法失败了。只有点击那个获取了焦点的Edietext才可以弹出键盘,不然不可以。这样就会出现前面还没输入内容,就输入这个。我要的连续输入,删除,不能隔空输入。我也做了一下努力,给Editext添加焦点监听,通过判断让第一个空着的Editext获取焦点,这个好像不可行。
第二种:放了11个TextView,发现怎么也弹不起键盘,后来才知道,必须有Editext才可以弹出键盘。通过它获取焦点。
3.GridePasswordView需要改成部分可以输入
这个控件的思想是有一个Editext,其他的是TextView。主要是通过Editext获取焦点,弹起键盘的。监控Editext的输入流,来个TextView赋值。
4.效果图

