Skip to content

Commit

Permalink
Added option to dismiss when the target is touched.
Browse files Browse the repository at this point in the history
  • Loading branch information
turing-tech committed Feb 1, 2016
1 parent 1965d07 commit 88cb952
Showing 1 changed file with 18 additions and 0 deletions.
Expand Up @@ -75,6 +75,7 @@ public class MaterialShowcaseView extends FrameLayout implements View.OnTouchLis
private UpdateOnGlobalLayout mLayoutListener;
private IDetachedListener mDetachedListener;
private boolean mTargetTouchable = false;
private boolean mDismissOnTargetTouch = true;

public MaterialShowcaseView(Context context) {
super(context);
Expand Down Expand Up @@ -204,6 +205,9 @@ public boolean onTouch(View v, MotionEvent event) {
hide();
}
if(mTargetTouchable && mTarget.getBounds().contains((int)event.getX(), (int)event.getY())){
if(mDismissOnTargetTouch){
hide();
}
return false;
}
return true;
Expand Down Expand Up @@ -412,6 +416,10 @@ private void setTargetTouchable(boolean targetTouchable){
mTargetTouchable = targetTouchable;
}

private void setDismissOnTargetTouch(boolean dismissOnTargetTouch){
mDismissOnTargetTouch = dismissOnTargetTouch;
}

public void addShowcaseListener(IShowcaseListener showcaseListener) {
mListeners.add(showcaseListener);
}
Expand Down Expand Up @@ -554,6 +562,16 @@ public Builder setTargetTouchable(boolean targetTouchable){
return this;
}

/**
* Set whether or not the showcase should dismiss when the target is touched.
*
* True by default.
*/
public Builder setDismissOnTargetTouch(boolean dismissOnTargetTouch){
showcaseView.setDismissOnTargetTouch(dismissOnTargetTouch);
return this;
}

public Builder setDismissOnTouch(boolean dismissOnTouch) {
showcaseView.setDismissOnTouch(dismissOnTouch);
return this;
Expand Down

0 comments on commit 88cb952

Please sign in to comment.