2012-07-06 61 views

回答

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上没有焦点。

2

我不认为android已经建立了功能来做到这一点,但你可能很容易做到这一点,通过继承TextView和更改onFocusChanged方法中的字符。将密码字符存储在变量中,并在窗口失去焦点时用点替换它们。当它获得焦点时,摆脱点,把字符回来。