如何讓EditText具有自動大小寫轉換的功能。

相信很多朋友都有過讓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());

下面看下效果吧。
TextAutoCase

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章