您的位置:首页 > 其它

实现edittext密码显示与隐藏

2016-11-04 15:05 246 查看
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());

                }

 

            }

        });

    }

     

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: