在EditText上隐藏CAB,长按显示选择标记

时间:2015-08-22 11:08:02

标签: android android-actionbar android-edittext

首先,我在StackOverflow中搜索并尝试了多个解决方案,但没有一个解决了我的查询,因此不是重复的问题

我希望在长按EditText时显示这样的自定义菜单,

Popup menu with selection markers active

正如您在EditText上的长按上看到的那样,此浮动菜单显示而不是库存CAB ,选择标记也完好无损。

我想为我的应用程序实现这种菜单。我尝试过使用此代码,虽然它禁用了CAB但也阻止了选择标记出现,

editText.setCustomSelectionActionModeCallback(new ActionMode.Callback() {
        @Override
        public boolean onCreateActionMode(ActionMode mode, Menu menu) {
            return false;
        }

        @Override
        public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
            return false;
        }

        @Override
        public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
            return false;
        }

        @Override
        public void onDestroyActionMode(ActionMode mode) {

        }
    });

此外,如果我尝试自定义CAB菜单,无法呈现此类菜单,它只会更改现有CAB上的按钮。

如果长按{* 1}}或双击EditText,我如何实现此浮动菜单以及可见的选择标记?

1 个答案:

答案 0 :(得分:0)

也许你可以在OS ActionMode启动时使用EditText的getSelectionStart和getSelectionEnd(通过覆盖Activity的onActionModeStarted),然后关闭操作系统ActionMode并启动自己的操作,同时使用EditText的setSelection手动突出显示相应的文本。