相信很多朋友都有过让EditText具备自动大小写转换的功能的需求,其实做法很简单。下面就来看一下怎么做吧。
首先定义一个类继承ReplacementTransformationMethod类并重写两个方法。这个类位于android.text.method包中。
public class AutoCaseTransformationMethod extends ReplacementTransformationMethod {
/**
* 获取要改变的字符。
* @return 将你希望被改变的字符数组返回。
*/
@Override
protected char[] getOriginal() {
return new char[]{'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'};
}
/**
* 获取要替换的字符。
* @return 将你希望用来替换的字符数组返回。
*/
@Override
protected char[] getReplacement() {
return new char[]{ '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' };
}
}
然后给EditText设置一下就可以了。
editText.setTransformationMethod(new AutoCaseTransformationMethod());
下面看下效果吧。