在某些特殊場合,要求輸入大寫字母。我們可以對輸入的EditText進行設置,不管用戶輸入大寫或者小寫字母,都自動轉換為大寫。
代碼很簡單,示例如下:
package com.example.upperandlowertransform;
import android.app.Activity;
import android.os.Bundle;
import android.text.method.ReplacementTransformationMethod;
import android.widget.EditText;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText etInput = (EditText) findViewById(R.id.etInput);
//限制只輸入大寫字母的地方,小寫自動轉換為大寫
etInput.setTransformationMethod(new InputCapLowerToUpper());
}
class InputCapLowerToUpper extends ReplacementTransformationMethod{
@Override
protected char[] getOriginal() {
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' };
return lower;
}
@Override
protected char[] getReplacement() {
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' };
return upper;
}
}
}
大寫轉換為小寫也可以類似的來實現。
