微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 在TextView CustomActionModeCallback上选择溢出菜单项

我想在长按文本视图的同时呈现自定义操作栏.我的菜单有超过5个项目,导致某些项目出现在溢出菜单下.

当我按下溢出图标时,操作栏被破坏,我无法选择溢出内的任何项目.

ActionMode.Callback mActionModeCallback = new ActionMode.Callback() {

        public boolean onCreateActionMode(ActionMode mode,Menu menu) {
            MenuInflater inflater = mode.getMenuInflater();
            inflater.inflate(R.menu.add_rule_menu,menu);
            return true;
        }

        public boolean onPrepareActionMode(ActionMode mode,Menu menu) {
            for (int i = 0; i < menu.size(); i++) {
                MenuItem item = menu.getItem(i);
                if (!mOptionsList.contains(item.getItemId()))
                    item.setVisible(false);
            }
            return false;
        }

        // Clicking on overflow button does not trigger this method at all.
        public boolean onActionItemClicked(ActionMode mode,MenuItem item) {
            switch (item.getItemId()) {
             // Rest of the code
            }
        }

        public void onDestroyActionMode(ActionMode mode) {}
    };

    textView.setCustomSelectionActionModeCallback(mActionModeCallback);

解决方法

filed an issue about this years ago,从未解决过.

一个俗气的解决方法是使用嵌套的动作模式.通过这个,我的意思是你有一个动作模式的项目完成当前模式并启动一个新项目,以提供“下钻菜单效果.我在my recently-resuscitated RichEditText widget中使用它,它提供了一种格式化文本的动作模式.我通过setCustomSelectionActionModeCallback()将“format”项添加认操作模式.点击“格式”打开另一个动作模式,提供粗体和斜体等选项,以及进一步的下钻,以便像字体更改一样思考.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐