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

}

}

android EditText 限制输入大小写,大写转小写

时间: 2024-11-03 01:19:26

android EditText 限制输入大小写,大写转小写的相关文章

代码设置Android EditText的输入长度maxLength

在今天开发中遇到一个自己写的自定义控件,因为考虑到复用,在每个需求下的edittext的输入长度不一样,在xml文件里面设置是不能实现这个需求的,于是在发现了这个API,可以通过代码设置! 希望对大家有所帮助! public void setEtCoustomLength(int length){ if (length>0) { etCoustom.setFilters(new InputFilter[]{new InputFilter.LengthFilter(length)}); } } 重

Android EditText中输入价格判断

EditText 中输入价格判断 mText.addTextChangedListener(new SimpleEditWatcher() { @Override public void afterTextChanged(Editable s) { final String text = s == null ? "" : s.toString(); mClickButton = !TextUtils.isEmpty(text.trim()); int index = text.inde

android EditText限制输入

今天有一个需要,就是EditText要求只接收中文和英文的输入内容. 翻了下api,发现EditText中有一个setFilters方法来限制用户输入内容. 而setFilters方法接收一个InputFilter接口,而InputFilter有2个内部实现类一个是AllCaps另外一个是LengthFilter 第一个AllCaps讲接收到的英文全部大写. 第二个是文本内容长度过滤(中文是2个长度哦.) 那么我们就只需要创建一个类继承LengthFilter兵实现filter方法即可    

(转)Android EditText限制输入字符的5种实现方式

最近项目要求限制密码输入的字符类型, 例如不能输入中文.   现在总结一下EditText的各种实现方式,  以比较各种方法的优劣. 第一种方式:  设置EditText的inputType属性,可以通过xml或者java文件来设置.假如我要设置为显示密码的形式,可以像下面这样设置: 在xml中,   android:inputType="textPassword" 在java文件中,可以用 ev.setInputType(InputType.TYPE_TEXT_VARIATION_P

Android EditText的输入监听,输入字符的动态获取

http://itindex.net/detail/38974-android-edittext-%E7%9B%91%E5%90%AC 有时候我们可能会用到时时的监听EditText输入字符的时时监听,监听字符的个数,做一些正则表达式的处理等.如下方法可以实现: 我做的是时时的把EditeText输入的数据同步到TextView上 布局文件: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android&

Android EditText 限制输入为ip类型

editText.setInputType(InputType.TYPE_CLASS_NUMBER); String digits = "0123456789."; editText.setKeyListener(DigitsKeyListener.getInstance(digits)); setInputType 要优先于 digits ,不然digits的限制会被setInputType 覆盖 原文地址:https://www.cnblogs.com/H-BolinBlog/p/

根据输入,大写与小写的转换

# include<stdio.h> int main() { char ch; printf("输入一个字符:\n"); scanf("%c",&ch); if(ch>='a'&&ch<='z') ch=ch-'a'+'A'; printf("%c\n",ch); return 0; } 原文地址:https://www.cnblogs.com/2206664660-lgz/p/11721352.

android 设置字体颜色、EditText自动输入转换成大写字母的多种方式

在TextView上面设置某一个字的字体颜色为指定颜色时,可以通过java类SpannableString类和Html语言来实现. (一)SpannableString类方式 private void setText(TextView t){ String text = t.getText().toString().trim(); SpannableString span = new SpannableString(text); span.setSpan(new ForegroundColorS

备忘: Android中把EditText的输入内容转为大写

editText_SerialCode = (EditText) findViewById(R.id.editText_SerialCode); editText_SerialCode.addTextChangedListener(textWatcher); private TextWatcher textWatcher = new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int