我使用了edittext的默认属性将其设为“密码”字段android:password="true"
。
现在,除了Button
之外,我还有一个EditText
。我希望只要按下那个按钮,我的密码字符就可以看到,当我从按钮上移开手指时,我的密码会自动转换成点。
我很感激有人可以帮助我吗?
答案 0 :(得分:1)
您需要在onTouchListener
EditText
passwordView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
并在ACTION_DOWN
上进行
passwordView.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
ACTION_UP
和ACTION_CANCEL
passwordView.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
答案 1 :(得分:1)
这可以通过像这样的OnTouchListener
轻松完成
Button yourButton = (Button)findViewById(R.id.your_button);
yourButton.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent e) {
switch (e.getActionMasked()) {
case MotionEvent.ACTION_DOWN: {
//SHOW PASSWORD HERE
return true;
}
case MotionEvent.ACTION_CANCEL:
case MotionEvent.ACTION_UP: {
//HIDE PASSWORD HERE
return true;
}
default:
return false;
}
}
});
希望这会有所帮助:)
答案 2 :(得分:1)
试试这可能会对你有所帮助
button.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent e) {
switch (e.getActionMasked()) {
case MotionEvent.ACTION_DOWN: {
editText.setInputType(InputType.TYPE_CLASS_TEXT);
return true;
}
case MotionEvent.ACTION_CANCEL:
case MotionEvent.ACTION_UP: {
editText.setTransformationMethod(PasswordTransformationMethod.getInstance());
return true;
}
}
}
});