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

来源:互联网 发布:windows ce安装软件 编辑:程序博客网 时间:2024/05/22 05:05
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 * 3 http://blog.csdn.net/dawanganban/article/details/23374187 *   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());                }            }        });    }}
0 0