/** * Get the ghostly gesture hand for custom gestures * * @return a View representing the ghostly hand */ public View getHand() { final View mHandy = ((LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE)) .inflate(R.layout.handy, null); addView(mHandy); AnimationUtils.hide(mHandy); return mHandy; }
private void fadeInShowcase() { AnimationUtils.createFadeInAnimation( this, getConfigOptions().fadeInDuration, new AnimationStartListener() { @Override public void onAnimationStart() { setVisibility(View.VISIBLE); } }) .start(); }
private void fadeOutShowcase() { AnimationUtils.createFadeOutAnimation( this, getConfigOptions().fadeOutDuration, new AnimationEndListener() { @Override public void onAnimationEnd() { setVisibility(View.GONE); } }) .start(); }
private void moveHand( float offsetStartX, float offsetStartY, float offsetEndX, float offsetEndY, AnimationEndListener listener) { AnimationUtils.createMovementAnimation( mHandy, showcaseX, showcaseY, offsetStartX, offsetStartY, offsetEndX, offsetEndY, listener) .start(); }
/** * Point to a specific point on the screen * * @param x X-coordinate to point to * @param y Y-coordinate to point to */ public void pointTo(float x, float y) { AnimationUtils.createMovementAnimation(mHandy, x, y).start(); }
/** * Point to a specific view * * @param view The {@link View} to Showcase */ public void pointTo(View view) { float x = AnimationUtils.getX(view) + view.getWidth() / 2; float y = AnimationUtils.getY(view) + view.getHeight() / 2; pointTo(x, y); }