现在的位置: 首页 > 综合 > 正文

android 代码实现密码输入框

2018年03月20日 ⁄ 综合 ⁄ 共 946字 ⁄ 字号 评论关闭

http://my.oschina.net/ernest/blog/28505

些场合,可能需要在运行时令某个 TextView (可能是运行时创建的,也可以是写在 XML 文件中的)。由于无法通过 XML 文件指定其为 password 输入属性,那么如何实现这个效果呢?

TextView 有两个方法:

       setInputType(int)
       setTransformationMethod(TransformationMethod)

其中 setInputType 可以更改 TextView 的输入方式:Contact、Email、Date、Time、Short Message、Normal Text、Password 等。还可以指定各种更正选项,如 单词首字母大写、句子首字母大写、自动更正等。

使用方法:

1 int inputType = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_AUTO_CORRECT
2                | InputType.TYPE_TEXT_FLAG_MULTI_LINE | InputType.TYPE_TEXT_FLAG_AUTO_CORRECT
3                | InputType.TYPE_TEXT_VARIATION_SHORT_MESSAGE;
4 textView.setInputType(inputType);

而 setTransformationMethod 则可以支持将输入的字符转换,包括清除换行符、转换为掩码。使用方法:

1 textView.setTransformationMethod(PasswordTransformationMethod.getInstance());

综合来说,如果需要实现自己的转换,可以通过实现 TransformationMethod 接口来达到你的目的(比如让输入的所有字符都变成 a,或者输入 a 显示 z,输入 z 显示 a 等)。

如需要动态显示隐藏,则可以使用:

 

1 setTransformationMethod(HideReturnsTransformationMethod.getInstance());

(感谢 前辈 http://my.oschina.net/wpfjiayou1

抱歉!评论已关闭.