何かが動作することがあります。
public class CapitalizedEditText extends EditText {
List<Integer> mKeyCodes = new ArrayList<>();
public CapitalizedEditText(Context context) {
super(context);
}
public void capitalizeAfter(int... keyCodes) {
for(int keyCode : keyCodes) {
mKeyCodes.add(keyCode);
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
setFilters(getInputFilter(keyCode));
return super.onKeyDown(keyCode, event);
}
private InputFilter[] getInputFilter(int keyCode) {
return mKeyCodes.contains(keyCode)
? new InputFilter[]{new InputFilter.AllCaps()}
: new InputFilter[] {};
}
}
例:
((CapitalizedEditText) findViewById(R.id.editid))
.capitalizeAfter(KeyEvent.KEYCODE_BUTTON_A,
KeyEvent.KEYCODE_LEFT_BRACKET,
KeyEvent.KEYCODE_LEFT_BRACKET);
を指定されたキーの後に大文字にしますs
キーボードアプリを書いていない限り、私はかなりあなたができないと確信しています。しかし、編集テキストに 'TextWatcher'を付けて、入力された文字を手動で修正することができます。 –