这几天产品又找我麻烦了。让我精简车牌的输入过程。这就是成果。对一年未更新的老项目GridPasswordView 项目改动较多,填了不少坑,也不少给自己挖。
具体效果如下:
增加选中框,支持中间修改、删除,支持多种键盘。
原效果如下:
原来效果完全支持。增加单词连续输入.解决绘制bug等等。
关键代码
gpvPlateNumber.togglePasswordVisibility();
gpvPlateNumber.setOnPasswordChangedListener(new GridPasswordView.OnPasswordChangedListener() {
@Override
public boolean beforeInput(int position) {
if (position == 0) {
viewKeyboard.setKeyboard(new Keyboard(MainActivity.this, R.xml.provice));
viewKeyboard.setVisibility(View.VISIBLE);
return true;
} else if (position >= 1 && position < 2) {
viewKeyboard.setKeyboard(new Keyboard(MainActivity.this, R.xml.english));
viewKeyboard.setVisibility(View.VISIBLE);
return true;
} else if (position >= 2 && position < 6) {
viewKeyboard.setKeyboard(new Keyboard(MainActivity.this, R.xml.qwerty_without_chinese));
viewKeyboard.setVisibility(View.VISIBLE);
return true;
} else if (position >= 6 && position < 7) {
viewKeyboard.setKeyboard(new Keyboard(MainActivity.this, R.xml.qwerty));
viewKeyboard.setVisibility(View.VISIBLE);
return true;
}
viewKeyboard.setVisibility(View.GONE);
return false;
}
@Override
public void onTextChanged(String psw) {
}
@Override
public void onInputFinish(String psw) {
}
});
本来想把键盘独立出来的。但是时间比较紧,想凑合着用先。
项目地址:https://github.com/kuwork/GridPasswordView
我的实际使用效果: