1
this tutorial私は完全に機能するAndroid OSキーボードを作成しました。それはアルファベット/数字の標準的な量です。Androidカスタムキーボード - 要求されたキーボードタイプを検出する方法
数値キーボード用に2番目のキーボードマークアップがあります。
私が検出できないように見えるのは、どのタイプのキーボードがテキスト入力ボックスで指定されているかです。 edittextはタイプ editText.setInputType(InputType.TYPE_CLASS_TEXT);
を指定しますが、IMEサービスがこれを検出して正しいキーボードを表示するにはどうすればよいですか?
public class MyKeybdIME extends InputMethodService implements KeyboardView.OnKeyboardActionListener {
private KeyboardView kv;
private Keyboard keyboard;
private Keyboard numboard;
private boolean caps = false;
@Override
public View onCreateInputView() {
kv = (MKeyboardView)getLayoutInflater().inflate(R.layout.keyboard, null);
keyboard = new Keyboard(this, R.xml.qwertyfull);
numboard = new Keyboard(this, R.xml.num);
// InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
//How can you detect what is being asked for?
// imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
// Or am I on the wrong path for this part?
kv.setKeyboard(keyboard);//... Or numboard when the entry requests a numeric keyboard
kv.setOnKeyboardActionListener(this);
return kv;
}