(推荐)方法1

进行大小写转换

开始的时候想用TextWatch的,但是发现他监听的事件会重复监听,导致很卡.如果先移除监听,改了再添加,光标的位置也会导致越界,可能我不会写吧,反正觉得很麻烦.后来上网一查,有更方便的方法,还可以很方便的抽出来重用.

public class AllCapTransformationMethod extends ReplacementTransformationMethod {
private char[] lower = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};
private char[] upper = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
private boolean allUpper = false;
public AllCapTransformationMethod(boolean needUpper) {
this.allUpper = needUpper;
}
@Override
protected char[] getOriginal() {
if (allUpper) {
return lower;
} else {
return upper;
}
}
@Override
protected char[] getReplacement() {
if (allUpper) {
return upper;
} else {
return lower;
}
}
}

到时要使用的时候,就给EditText设好参数就可以了,像下面这样就可以自动变大写了.false就是小写

editText.setTransformationMethod(new AllCapTransformationMethod(true));

参考:https://blog.csdn.net/tempersitu/article/details/51741541

注意:这种方法只是给显示给用户是大写,实质上直接获取的时候还是小写

所以如果需要大写,需要转换下:

editText.getText().toString().toUpperCase()

方法2

监听文字变化

etCarNumber.addTextChangedListener(new TextWatcher() {@Overridepublic void beforeTextChanged(CharSequence s, int start, int count, int after) {}@Overridepublic void onTextChanged(CharSequence s, int start, int before, int count) {//下面这种方法才是真正的将输入的小写字母转换为大写字母etCarNumber.removeTextChangedListener(this);etCarNumber.setText(s.toString().toUpperCase());//在输入完毕后定位到光标的末尾//mEdtCarNo.setSelection(s.length());/**在输入完毕后定位到当前修改的末尾 = start + count*/etCarNumber.setSelection(start+count);etCarNumber.addTextChangedListener(this);}@Overridepublic void afterTextChanged(Editable s) {}});

。。。

设置EditText输入的文字全部变成大写或小写相关推荐

  1. 设置EditText输入的文字全部变成大写或小写方案总结

    1.通过setFilters方法,设置输入变大写 edittext.setFilters(new InputFilter[] {new InputFilter.AllCaps()}); 2.通过set ...

  2. AndroidStudio设置EditText输入的文字全部变成大写或小写

    其中一个方法 调用EditText对象的setTransformationMethod()方法 //对编辑框内容进行转换的操作,小写换成大写mEdit.setTransformationMethod( ...

  3. 【Android】设置EditText输入类型和内容长度

    1.设置输入类型 设置EditText输入类型主要有两种方法,一种是使用EditText的setInputType()方法,另一种是在布局文件中使用android:inputType属性来设置. (1 ...

  4. Android设置EditText输入类型:setInputType()方法和android:inputType属性

    需求: 本次需求是做密码输入的隐藏.显示. 过程: 时间太久,很多属性已经记不太清楚了,比较纠结,所以整合下属性. 结果: 布局文件------------------------------ < ...

  5. 【matlab】输入一字符串,字母大写变小写,小写变大写。

    从键盘输入一个由字母构成的字符串,要求大写变小写,小写变大写输出.(例:若输入为"asdFGH",则输出为"ASDfgh") 因为matlab也是新学,就在网上 ...

  6. Android开发之EditText输入显示文字hint大小设置

    我们先来看下图: 这xml预览图 我们再来看下效果图: 我们来看下如何做到的: 很简单直接上代码 String hintStr = "输入时长";SpannableString s ...

  7. 输入字符串,统计其中大写,小写字母,数字,其他字符。

    import java.util.*; public class QQQ {     public static void main(String[] args) {         Scanner ...

  8. EditText输入类型InputType值

    开发过程中,我们经常使用到EditText控件,并且会根据各种需求设置它的输入类型.设置EditText输入类型主要有两种方法,一种是使用EditText的setInputType()方法,另一种是在 ...

  9. android设置输入框输入字符限制,Android EditText限制输入字符的方法总结

    Android EditText限制输入字符的方法总结 最近项目要求限制密码输入的字符类型, 例如不能输入中文.   现在总结一下EditText的各种实现方式,  以比较各种方法的优劣. 第一种方式 ...

最新文章

  1. 帝国cms 标签php,帝国cms常用标签总结
  2. CentOS7下Django安装
  3. 2021-11-04Oracle19c 图形化安装,在windoes上)
  4. 用c语言实现0到59的数码管,跪求单片机0~99数码管显示用C语言编写的程序
  5. PyTorch中使用指定的GPU
  6. 【算法系列之十二】最接近的三数之和
  7. python定义字体颜色_windows print 自定义字体颜色【python】
  8. 现在时的条件句_57
  9. MATLAB产生线性等分量函数 linspace
  10. java遍历session_java中遍历session问题
  11. spring boot 发邮件
  12. [多媒体] m3u8简介
  13. 基于Python+Opencv的银行卡号识别系统(附完整代码)
  14. 马化腾:创建生物型组织,让企业组织自我进化
  15. 2018-2019赛季多校联合新生训练赛第四场 18-12-09
  16. Linux怎么彻底删除用户
  17. 信源编码算法(费诺编码哈夫曼编码)
  18. Packet Tracer - 排除 HSRP 故障
  19. Bark to Unlock CodeForces - 868A
  20. VC++实现电脑睡眠/休眠/锁定/关闭屏幕

热门文章

  1. 面试以前上司,能力一般,不想给他通过,但他卑微哀求,怎么办?
  2. 耳机声音一边大一边小
  3. sentinel限流入门
  4. JS_实现图片的自动轮播
  5. Oracle 权限详解(grant,revoke)
  6. 十大家用智能监控摄像头品牌排名
  7. sort()函数基本用法
  8. return返回值详解
  9. passive-interface OSPF 的被动接口
  10. 电脑上照片如何压缩大小?怎么把照片在线压缩?