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 键盘显示搜索标志的放大镜,而 Touch Input(HTC 的键盘)似乎完全不知道该标志,仍然显示返回按钮。

于 2009-10-08T23:49:09.320 回答