ShowcaseView用手势

时间:2013-07-24 23:13:32

标签: android gestures showcaseview

我在项目中使用了很棒的ShowcaseView library。除此之外,我还使用这个令人敬畏的包装类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 个答案:

答案 0 :(得分:3)

我不是那个回答你问题的人,我更像是一个不得不以我怀疑是错误的方式做到这一点的用户。

到目前为止,我只专注于制作手势的工作。我不知道如何选择圆圈的大小

我想以与你相同的方式使用它,但它并没有让我到处都是因为我没有找到将手势放在我添加视图的行中的位置。所以我按照自己的方式做到了。

像这样:

首先我定义了showcaseview:

Fragment thisFrag;
ShowcaseView sv;
ShowcaseView.ConfigOptions co;

在我的创作中我有这个:

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


}   

希望有更好的方法来做到这一点。

答案 1 :(得分: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
                }
});