【问题标题】:ShowcaseView with gestures带有手势的 ShowcaseView
【发布时间】:2013-07-24 23:13:32
【问题描述】:

我在我的项目中使用了很棒的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 的手势?

【问题讨论】:

    标签: android gestures showcaseview


    【解决方案1】:

    我不是回答你问题的人,我更像是一个必须以我怀疑是错误的方式来做这件事的用户。

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

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

    像这样:

    首先我定义了展示视图:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-10-27
        • 2014-08-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多