Android-密码的明文显示与隐藏

经常看到在很多登陆或者需要输入密码的界面都有一个CheckBox,名为显示密码。用户输入的密码默认都是隐藏的,即都是以黑点或者星号代替,当勾选显示密码之后,用户输入的密码就会显示出来,成为可见状态。实现方法很简单,现在我们来看一下这种效果的实现方法。

首先需要在布局文件里面放入一个文本控件TextView,用于提示用户输入密码。还有一个编辑框和选择框,即EditText和CheckBox。如下



    

    

    

之后就是到java文件中进行实现了。不多说,代码:
public class MainActivity extends Activity {
	private EditText psw = null;
	private CheckBox check = null;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		psw = (EditText) findViewById(R.id.psw);//取得EditText组件
		check = (CheckBox) findViewById(R.id.check);//取得CheckBox组件
		check.setOnClickListener(new CheckOnClickListener());
	}

	private class CheckOnClickListener implements OnClickListener {

		@Override
		public void onClick(View v) {
			// TODO Auto-generated method stub
			if (check.isChecked()) {  //当CheckBox被选中
				psw.setTransformationMethod(HideReturnsTransformationMethod
						.getInstance());  //密码以明文显示
			} else {
				psw.setTransformationMethod(PasswordTransformationMethod
						.getInstance());  //以密文显示,以.代替
			}
		}
	}
}

效果如下,正是预料之中的效果:

Android-密码的明文显示与隐藏_第1张图片       Android-密码的明文显示与隐藏_第2张图片

通过效果可以发现,密码默认输入是以密文形式,当勾选显示密码后,密码就显示出来了。如果是先勾选显示密码,再输入密码,效果也是一样的。

你可能感兴趣的:(android)