相信很多朋友都有過讓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());
下面看下效果吧。