0

Android に関するいくつかの質問:

デフォルトのキーボードのキーを交換することはできますか? たとえば、数字キーボードのドットをコンマに置き換えることは可能ですか?

非常に単純な IME を作成しましたが、EditText に設定できません。私が望むのは、デフォルトの LatinIME ではなく、デフォルトで作成した IME を使用するように EditText の 1 つを設定することです。それは可能ですか?inputMethod 属性はどのように機能しますか? IME の完全修飾クラス名を設定しましたが、class not found 例外が発生します。

ありがとう。

4

3 に答える 3

2
Is it possible to replace the keys in default keyboards ? 

あなたはそうしない。ユーザーは、どのキーボードを使用するかなど、自分のデバイスを制御できます。

しかし、いくつかの入力方法を試すことができます

このチュートリアルを読む:インプットメソッドの作成

このレポをクローンします: LatinIME

また、1文字を置き換える必要がある場合は、edittextのテキスト変更リスナーをオーバーライドし、入力された各文字を確認し、ユーザーがドットを入力した場合は、それをカンマに置き換えます

editText.addTextChangedListener(new TextWatcher(){
        public void afterTextChanged(Editable s) {
           //Check if s contains dot and replace it with comma
        }
        public void beforeTextChanged(CharSequence s, int start, int count, int after){}
        public void onTextChanged(CharSequence s, int start, int before, int count){}
    });  

しかし、このメソッドは EditText でヒットした各キーを実行します。

于 2011-07-23T11:01:31.070 に答える
0

このメソッドをオーバーライドしてみてください。別のキーコードを返し、結果を確認してください

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {

        if (keyCode == someKeyCode) {
          //...... button is pressed
        }
        return super.onKeyDown(keyCode, event);
    }
于 2011-07-23T10:08:10.353 に答える
0

デフォルトのキーボードのキーを置き換えることはできません。すべてのキーボード アプリが行うように、独自のキーボードの置き換えを作成する必要があります。

于 2011-07-23T10:15:10.163 に答える