在Android开发中,有时候当我们输入密码是不想被看到,可以选择输入类型为密文显示,那么怎么实现呢,先看效果图:
代码如下:
public class MainActivity extends FragmentActivity implements CompoundButton.OnCheckedChangeListener{
private EditText editText;
private CheckBox checkBox;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = (EditText) findViewById(R.id.edittext);
checkBox = (CheckBox) findViewById(R.id.checkbox);
checkBox.setOnCheckedChangeListener(this);
}
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if(b){
//设置明文显示
editText.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
}else{
//设置密文显示
editText.setTransformationMethod(PasswordTransformationMethod.getInstance());
}
//保证每次切换明文密文后光标都在最后面,默认是会切换到最前端
editText.setSelection(editText.getText().length());
}
}