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

4

2 回答 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);


}   

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

于 2013-07-24T23:35:27.533 回答
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
                }
});
于 2014-02-16T06:13:04.507 回答