用户退出EditBox后立即模糊密码

时间:2012-07-06 18:52:56

标签: android

在用户离开EditBox之后如何才能对密码进行非模糊处理,然后再对其进行模糊处理?我希望用户能够在输入密码时看到密码,但一旦完成就会对其进行模糊处理并转移到其他字段。

2 个答案:

答案 0 :(得分:2)

我不认为android有内置功能,但你可以通过继承TextView并更改onFocusChanged方法中的字符来轻松完成。将密码字符存储在变量中,并在窗口失去焦点时用点替换它们。当它获得焦点时,摆脱点并将焦点放回去。

答案 1 :(得分:2)

您可以使用PasswordTransformationManager课程和OnFocusChangedListener来完成此操作。试试这个:

myEditText.setOnFocusChangeListener(new View.OnFocusChangeListener()
{
    @Override
    public void onFocusChange(View view, boolean focused)
    {
        if(focused)
           ((EditText)view).setTransformationMethod(null);
        else
           ((EditText)view).setTransformationMethod(PasswordTransformationMethod.getInstance());
    }
});

这与设置xml属性android:password="true"基本相同,但仅限于EditText没有焦点时。