EditText 动态切换密码 更改为"*"
2015-07-07 15:23
513 查看
if (!b) { //系统的PasswordTransformationMethod方法是显示 "·" // edittext.setTransformationMethod(PasswordTransformationMethod.getInstance()); //自定义AsteriskPasswordTransformationMethod类,显示 "*" edittext.setTransformationMethod(new AsteriskPasswordTransformationMethod()); } else { edittext.setTransformationMethod(HideReturnsTransformationMethod.getInstance()); } edittext.postInvalidate(); //切换后将EditText光标置于末尾 CharSequence charSequence = edittext.getText(); if (charSequence instanceof Spannable) { Spannable spanText = (Spannable) charSequence; Selection.setSelection(spanText, charSequence.length()); }
自定义的 AsteriskPasswordTransformationMethod 类
public class AsteriskPasswordTransformationMethod extends PasswordTransformationMethod { @Override public 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 } } };
来自stackoverflow 网友的方法,很好用。
http://stackoverflow.com/questions/14051962/change-edittext-password-mask-character-to-asterisk
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories