密码框中内容的可见性切换

我们可能会遇到在输入密码的时候,在其右方会有一个图标,可以切换密码内容的可见性。那我们该如何来实现呢?

private EditText password;

private ImageView eyeImageView;

boolean flag = false;

@Override
protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.login);
	init();
}

private void init() {
	password = (EditText) findViewById(R.id.password);
	eyeImageView = (ImageView) findViewById(R.id.eye);
	eyeImageView.setOnClickListener(this);
}

@Override
public void onClick(View view) {

	switch (view.getId()) {
		case R.id.eye:
			// 是否显示密码
			if (!flag) {
				password.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
				eyeImageView.setBackgroundResource(R.drawable.eye2);
			} else {
				password.setTransformationMethod(PasswordTransformationMethod.getInstance());
				eyeImageView.setBackgroundResource(R.drawable.eye);
			}
			flag = !flag;
			password.postInvalidate();
			CharSequence text = password.getText();
			if (text instanceof Spannable) {
				Spannable spanText = (Spannable) text;
				Selection.setSelection(spanText, text.length());
			}
			break;
	}
}


 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值