Showcaseview不显示操作栏项

时间:2014-01-19 04:42:50

标签: android android-actionbar-compat showcaseview

所以在我的项目中,我使用showcaseview为用户创建教程。当我将ShowcaseView指向任何操作栏ID时,结果如下: enter image description here

我的问题是,是否可以让showcaseview定位操作栏中的特定项目,而不仅仅是上面显示的概述。代码在重写的onCreateOptionsMenu方法中运行,并且位于活动的上下文中。以下是我目前使用的代码:

actionBarViews = new ShowcaseViews(activity);
    ShowcaseView.ConfigOptions co = new ShowcaseView.ConfigOptions();
    co.hideOnClickOutside = true;
actionBarViews.addView(new ItemViewProperties(R.id.sendmessage,
            R.string.send_title, R.string.send_tutorial,
            ShowcaseView.ITEM_ACTION_ITEM, 0, co));
actionBarViews.addView(new ItemViewProperties(R.id.tutorial_menu,
            R.string.tutorial_title, R.string.tutorial_tutorial,
            ShowcaseView.ITEM_ACTION_OVERFLOW, 0, co));

    actionBarViews.show();

如果目前无法定位动作栏项,那么还有其他方法可以实现教程。

3 个答案:

答案 0 :(得分:1)

这可能有点晚,但这对于找到此主题的其他用户可能会有用。我使用以下代码使用ShowCaseView

突出显示我的操作按钮
        //for action button with id "ACTION_BUTTON_ID"

        ShowcaseView.ConfigOptions co = new ShowcaseView.ConfigOptions();
        co.showcaseId = ShowcaseView.ITEM_ACTION_ITEM;
        co.hideOnClickOutside = true;
        ActionItemTarget target = new ActionItemTarget(this.getActivity(),R.id.ACTION_BUTTON_ID);
        final ShowcaseView sv = ShowcaseView.insertShowcaseView(target,getActivity(),R.string.instruction_title_text,R.string.instruction_details_text);
        sv.show();

答案 1 :(得分:1)

像这样使用

new ShowcaseView.Builder(activity)
       // .withMaterialShowcase()
     //  .setStyle(R.style.CustomShowcaseTheme3)
        .setTarget(Target.NONE)
        .setOnClickListener(this)
        //.withMaterialShowcase()
        .blockAllTouches()
        .useDecorViewAsParent() //this is the difference
        .build();

然后在操作栏中定位您的视图

答案 2 :(得分:0)

你试过使用ActionBarSherlock吗?它支持旧兼容性并且有很多可用的示例。