android EditText 限制输入大小写,大写转小写
在写登录验证的时候,需要将用户输入的大写字符转化为小写。看了下API,只有InputFilter.AllCaps是将EditText 的小写英文字符转化为大写。好吧。依赖AllCaps在写个类似的InputFilter吧。基本上Copy AllCaps的代码,只改了两行。大家看代码吧
import android.text.InputFilter;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.TextUtils;
//与InputFilter.AllCaps相反
public class LowInputFilter implements InputFilter {
@Override
public CharSequence filter(CharSequence source, int start, int end,
Spanned dest, int dstart, int dend) {
for (int i = start; i < end; i++) {
if (Character.isUpperCase(source.charAt(i))) {
char[] v = new char[end - start];
TextUtils.getChars(source, start, end, v, 0);
String s = new String(v).toLowerCase();
if (source instanceof Spanned) {
SpannableString sp = new SpannableString(s);
TextUtils.copySpansFrom((Spanned) source, start, end, null,
sp, 0);
return sp;
} else {
return s;
}
}
}
return null; // keep original
}
}
更多相关文章
- Channel is unrecoverably broken and will be disposed!
- 图片阴影
- Android(安卓)中TabLayout自定义选择背景滑块的实例代码
- 查看Android的源代码
- 解决android:layout_marginBottom在RelativeLayout中无效的bug
- android2.2 2.3状态栏区别
- Android第三方文件选择器aFileChooser使用方法详解
- 实现Android多张图片选择
- Android(安卓)Studio常用快捷键、Android(安卓)Studio快捷键大全