最近项目要实现如下的密码框样式(实现效果图如下)
先看单个EditText xml配置的属性:
只允许最多输入一个字符
<EditText
android:id="@+id/EditText01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_weight="1"
android:maxLength="1"
android:inputType="numberPassword" />
控件初始化:
private void initView() {
editText1 = (EditText) findViewById(R.id.EditText01);
editText2 = (EditText) findViewById(R.id.EditText02);
editText3 = (EditText) findViewById(R.id.EditText03);
editText4 = (EditText) findViewById(R.id.EditText04);
editText5 = (EditText) findViewById(R.id.EditText05);
editText6 = (EditText) findViewById(R.id.EditText06);
//添加TAG 用于textChangeListener的标示
editText1.setTag(1);
editText2.setTag(2);
editText3.setTag(3);
editText4.setTag(4);
editText5.setTag(5);
editText6.setTag(6);
//添加 内容change listener :输入焦点后移 + 密码验证
editText1.addTextChangedListener(new MyTextChangeWatcher(1));
editText2.addTextChangedListener(new MyTextC