(五十四)常用的EditText密码框设置-创新互联

1、常见的如下所示的EditText密码框设置的实现

我们提供的服务有:成都网站建设、网站制作、微信公众号开发、网站优化、网站认证、瓜州ssl等。为超过千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的瓜州网站制作公司

2、其中重要的XML文件中的代码

      

2、部分重要的可以参考的java代码

2.1 设置是否显示bt_delete_password  ImageButton

private void showBtnDeletePassword() {
        mEtPassword.setOnTouchListener(new OnTouchListener() {
            @Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub  if (mEtPassword.getText().toString().trim() != null                        && !mEtPassword.getText().toString().trim().equals("")) {
                    mBtnDeletePassword.setVisibility(View.VISIBLE);
                }
                mBtnDeletePassword.setVisibility(View.INVISIBLE);
return false;
            }
        });
        mEtPassword.addTextChangedListener(new TextWatcher() {

            @Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
            }

            @Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub  if (!TextUtils.isEmpty(s)) {
                    mBtnDeletePassword.setVisibility(View.VISIBLE);
                }else {
                    mBtnDeletePassword.setVisibility(View.INVISIBLE);
                }
            }

            @Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
            }

        });
    }

2.2 设置是EditText是以正常文本形式显示密码还是以密码形式显示密码

   2.2.1 在onCreate中部分初始化代码

mBtnShowPassword = (ImageButton) findViewById(R.id.bt_show_password);
mBtnShowPassword.setOnClickListener(this); mBtnShowPassword.setTag(R.drawable.password_hide);

   2.2.2 在bt_show_password中的点击事件代码如下所示:

case R.id.bt_show_password:
int drawavleId;
try {
                drawavleId= (Integer) mBtnShowPassword.getTag();
            }catch (Exception e) {
// TODO: handle exception                e.printStackTrace();
                drawavleId= 0;
            }
if (drawavleId == R.drawable.password_hide) {
                mBtnShowPassword
                        .setBackgroundResource(R.drawable.password_look);
                mBtnShowPassword.setTag(R.drawable.password_look);
// 文本正常显示                mEtPassword
                        .setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);                
                Editable etable= mEtPassword.getText();
                Selection.setSelection(etable, etable.length());
            }else {
                mBtnShowPassword
                        .setBackgroundResource(R.drawable.password_hide);
                mBtnShowPassword.setTag(R.drawable.password_hide);
// 文本以密码形式显示                mEtPassword.setInputType(InputType.TYPE_CLASS_TEXT
| InputType.TYPE_TEXT_VARIATION_PASSWORD);
// 下面两行代码实现: 输入框光标一直在输入文本后面                Editable etable = mEtPassword.getText();
                Selection.setSelection(etable, etable.length());
            }
break;

分享名称:(五十四)常用的EditText密码框设置-创新互联
分享地址:http://azwzsj.com/article/didise.html