Android EditText密码框的可见性设置
最近写安卓时要实现密码可见性转换,经过查找资料后发现了两种方法可以实现。
方法一
通过setInputType()方法实现
passwordEditText.setInputType(0x91);//设置密码可见
passwordEditText.setInputType(0x81);//设置密码不可见
passwordEditText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);//设置密码可见
passwordEditText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);//设置密码不可见
上述两个其实是一样的,InputType类已经将0x91封装成了InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD以及 0x81封装成了InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD。此外,密码可见这样也行
passwordEditText.setInputType(0x90);//设置密码可见
passwordEditText.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);//密码可见
也就是说密码可见设置时可省略了InputType.TYPE_CLASS_TEXT,但密码不可见时就不行,暂时还不知道为什么
方法二
通过setTransformationMethod()方法实现
passwordEditText..setTransformationMethod(HideReturnsTransformationMethod
.getInstance());//密码可见
passwordEditText..setTransformationMethod(PasswordTransformationMethod
.getInstance());//密码不可见
|