Android文本输入框(EditText)输入密码时显示与隐藏

代码很简单,这里就不多废话了。


package cc.c;

import android.app.Activity;

import android.os.Bundle;

import android.text.Selection;

import android.text.Spannable;

import android.text.method.HideReturnsTransformationMethod;

import android.text.method.PasswordTransformationMethod;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

/**

 * Demo描述:

 * 文本输入框(EditText)切换密码的显示与隐藏

 * 

 * 参考资料:

 * 1 http://developer.android.com/reference/android/text/method/HideReturnsTransformationMethod.html

 * 2 http://developer.android.com/reference/android/text/method/PasswordTransformationMethod.html

 *   Thank you very much

 */

public class MainActivity extends Activity {

    private Button mSwitchButton;

    private EditText mPasswordEditText;

    private boolean isHidden=true;

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        init();

    }

    private void init(){

        mSwitchButton=(Button) findViewById(R.id.button);

        mPasswordEditText=(EditText) findViewById(R.id.editText);

        mSwitchButton.setOnClickListener(new OnClickListener() {

            @Override

            public void onClick(View v) {

                if (isHidden) {

                    //设置EditText文本为可见的

                    mPasswordEditText.setTransformationMethod(HideReturnsTransformationMethod.getInstance());

                } else {

                    //设置EditText文本为隐藏的

                    mPasswordEditText.setTransformationMethod(PasswordTransformationMethod.getInstance());

                }

                isHidden = !isHidden;

                mPasswordEditText.postInvalidate();

                //切换后将EditText光标置于末尾

                CharSequence charSequence = mPasswordEditText.getText();

                if (charSequence instanceof Spannable) {

                    Spannable spanText = (Spannable) charSequence;

                    Selection.setSelection(spanText, charSequence.length());

                }

 

            }

        });

    }

     

}

有相同需求的小伙伴过来参考下吧,可以直接拿去使用。