27

私がやりたいことは、仮想キーボードに表示されるデフォルトの「完了」ラベルを変更することです。これが私が運なしで試したことです:

mSearchInput.setImeOptions(EditorInfo.IME_ACTION_DONE);
mSearchInput.setImeActionLabel(getString(R.string.search_action_label), EditorInfo.IME_ACTION_DONE);

ただし、次のようにして、そのボタンのクリックを処理できます

mSearchInput.setOnEditorActionListener(new TextView.OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        if (actionId == EditorInfo.IME_ACTION_DONE) {
            performSearch();
            return true;
        }
        return false;
    }
});

現時点では、そのボタンのラベルを変更する方法がわかりません。

4

1 に答える 1

29

imeActionLabel全画面 IME モード (つまり、電話が横向きの場合) で右上に表示されるボタンのラベルを設定します。ボタンをキーボードの右下に変更したい場合は、特定のフラグを に渡すことができますimeOptions

私の知る限り、そのボタンでは特定のアクション セットに制限されています (サポートされているフラグの完全なリストについては、こちらを参照してください)。しかし、検索ボタンが必要なようなので、少し調整するだけです。あなたの最初の行と使用IME_ACTION_SEARCH

mSearchInput.setImeOptions(EditorInfo.IME_ACTION_SEARCH);

そのボタンの正確な外観は、入力方法によって異なります。デフォルトの Android キーボードは検索フラグの拡大鏡を表示しますが、タッチ入力 (HTC のキーボード) はそのフラグをまったく認識していないようで、戻るボタンが表示されたままです。

于 2009-10-08T23:49:09.320 に答える