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

时间:2021-05-02

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

复制代码 代码如下:
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());
}
}
});
}
}

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章