ShowcaseView与手势

3
我在我的项目中使用了优秀的ShowcaseView库。除此之外,我还使用了这个很棒的包装类ShowcaseViewExample来一个接一个地显示视图。

这样做很好,但我不知道如何使用手势。

到目前为止的代码:

 public void showcaseMainActivity() {
          views = new ShowcaseViews(this, R.layout.showcase_view_template);
          views.addView(new ShowcaseViews.ItemViewProperties(R.id.some_menu, R.string.showcase_title, R.string.showcase_message, ShowcaseView.ITEM_ACTION_ITEM));
          views.addView(new ShowcaseViews.ViewProperties(R.id.showcaseButton, R.string.showcase_title, R.string.showcase_message));
          views.show();
        }

我应该在哪里添加代码以使用手势控制 showcaseButton

2个回答

3
我不是回答你问题的那个人,我更像是一个用户,而且我怀疑自己并没有用正确的方式来做这件事。

到目前为止,我只关注于如何使手势生效。我不知道如何选择圆圈的大小。

我想以和你相同的方式使用它,但我没有找到在添加视图的行中放置手势的位置,所以我就按照自己的方式做了。

就像这样:

首先,我定义了展示视图:

Fragment thisFrag;
ShowcaseView sv;
ShowcaseView.ConfigOptions co;

在我的oncreate方法中,我有这个:
co = new ShowcaseView.ConfigOptions();
thisFrag = this;

然后当我想要查看展示时,我调用了这个函数:
public static void showShowcase() {
    // TODO Auto-generated method stub

    co.hideOnClickOutside = false;
    co.showcaseId = 1;
    sv = ShowcaseView.insertShowcaseView(R.id.scrollView1, thisFrag.getActivity(), "Some funny text", " Smaller and funnier text ", co);
    sv.animateGesture(200, 500, 200, 0);

    OnShowcaseEventListener OSEvListner = new OnShowcaseEventListener() {
        public void onShowcaseViewHide(ShowcaseView showcaseView) {
            switch (co.showcaseId) {
            case 1:
                co.showcaseId = 2;
                sv = ShowcaseView.insertShowcaseView(R.id.scrollView2, thisFrag.getActivity(), "How to scroll down", " ", co);
                sv.setOnShowcaseEventListener(this);
                sv.animateGesture(200, 500, 200, 0);
                break;
            case 2:
                co.showcaseId = 3;
                sv = ShowcaseView.insertShowcaseView(R.id.scrollView3, thisFrag.getActivity(),
                        "Do this to change tabs", "", co);
                sv.setOnShowcaseEventListener(this);
                 sv.animateGesture(200, 500, 500, 500);
                break;
            case 3:
                Main.switchTab(1);
                OtherFragment.showShowcase();
        }
        }

        @Override
        public void onShowcaseViewShow(ShowcaseView showcaseView) {
            // TODO Auto-generated method stub

        }
    };

    sv.setOnShowcaseEventListener(OSEvListner);


}   

希望有更好的方法来做这件事。

2
请使用以下示例中的方法overrideButtonClick:
ShowcaseView showcaseView = ShowcaseView.insertShowcaseView(new ViewTarget(yourView), activity, "this is title", "this is detail");

showcaseView.overrideButtonClick(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    //your onClick code
                }
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接