text.setTransformationMethod(new AsteriskPasswordTransformationMethod());  public class AsteriskPasswordTransformationMethod extends PasswordTransformationMethod {@Overridepublic CharSequence getTransformation(CharSequence source, View view) {    return new PasswordCharSequence(source);} private class PasswordCharSequence implements CharSequence {    private CharSequence mSource;    public PasswordCharSequence(CharSequence source) {        mSource = source; // Store char sequence    }    public char charAt(int index) {        return '*'; // This is the important part    }    public int length() {        return mSource.length(); // Return default    }    public CharSequence subSequence(int start, int end) {        return mSource.subSequence(start, end); // Return default    }}


TextView : setInputType(). setTransformationMethod()

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

TextView 有两个方法:

       setInputType(int)
setTransformationMethod(TransformationMethod)

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

使用方法:

       int inputType = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_AUTO_CORRECT
| InputType.TYPE_TEXT_FLAG_MULTI_LINE | InputType.TYPE_TEXT_FLAG_AUTO_CORRECT
| InputType.TYPE_TEXT_VARIATION_SHORT_MESSAGE;
textView.setInputType(inputType);

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

       textView.setTransformationMethod(PasswordTransformationMethod.getInstance());

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



更多相关文章

  1. android 弹出带输入框的对话框
  2. android 输入对话框
  3. ch08 Android(安卓)Intent
  4. Android自动判定输入的是电话号码还是网址
  5. android调用键盘
  6. Android(安卓)EditText 只能输入三行文本的实现方法
  7. Android之SharedPreference轻量级数据存储
  8. Android全局捕获异常
  9. android开发常用小知识点整理

随机推荐

  1. android notification实例
  2. android 日期时间格式转换;软键盘显示消失
  3. AIDL使用
  4. Android使用百度地图移动到我的位置
  5. android recovery 和reboot
  6. Android的Bluetooth Profile与UUID
  7. Android添加垂直滚动ScrollView
  8. android 圆角图标 和不规则圆角(边框)
  9. [Android Pro] PackageManager#getPackag
  10. 一些非常实用的 Android 开发资源 【转】