Android:不知道如何使用 setImeActionLabel

2022-09-01 16:03:21

我想做的是更改虚拟键盘中显示的默认“完成”标签。以下是我在没有任何运气的情况下尝试过的东西:

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;
    }
});

我不知道目前如何更改该按钮上的标签。


答案 1

为在全屏 IME 模式下(即,当您的手机处于横向状态时)上右上角显示的按钮设置标签。如果要将按钮更改为键盘的右下角,可以将某些标志传递给 。imeActionLabelimeOptions

据我所知,对于该按钮,您仅限于一组特定的操作(请参阅此处以获取受支持标志的完整列表),但是由于您似乎想要一个搜索按钮,因此您所要做的就是稍微调整第一行并使用:IME_ACTION_SEARCH

mSearchInput.setImeOptions(EditorInfo.IME_ACTION_SEARCH);

请注意,该按钮的确切外观将取决于输入法。默认的Android键盘显示搜索标志的放大镜,而触摸输入(HTC的键盘)似乎完全不知道该标志,仍然显示返回按钮。


答案 2

推荐