2013-07-24 114 views
3

我在我的項目中使用了很棒的ShowcaseView library。隨着我也使用這個真棒包裝類ShowcaseViewExample一個接一個地顯示意見。ShowcaseView with gestureures

這很好,但我失去了如何使用手勢。

到目前爲止的代碼:

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的代碼?

回答

3

我不是一個回答你的問題的人,我更像是一位同事,他不得不以我懷疑是錯誤的方式做到這一點。

到目前爲止,我只專注於做手勢的工作。我不知道如何選擇圈子的大小

我想用同樣的方式使用它,但它沒有讓我到任何地方,因爲我沒有找到在哪裏把手勢放在我添加視圖的行。所以我按照自己的方式做了。

像這樣:

首先,我定義的showcaseview:

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