Search in sources :

Example 71 with AccelerateDecelerateInterpolator

use of android.view.animation.AccelerateDecelerateInterpolator in project Tapad by berict.

the class AnimateHelper method scaleIn.

public void scaleIn(final int id, int touchX, int touchY, final int delay, final long duration, String handlerName, Activity activity) {
    final View view = (View) activity.findViewById(id);
    float x = touchX / window.getWindowWidthPx(activity);
    float y = touchY / window.getWindowHeightPx(activity);
    final ScaleAnimation scaleOut = new ScaleAnimation(0, 1, 0, 1, Animation.ABSOLUTE, x, Animation.ABSOLUTE, y);
    scaleOut.setInterpolator(new AccelerateDecelerateInterpolator());
    Map<String, Handler> handlerCreator = new HashMap<>();
    handlerCreator.put(handlerName, new Handler());
    if (delay > 0) {
        handlerCreator.get(handlerName).postDelayed(new Runnable() {

            @Override
            public void run() {
                view.setVisibility(View.VISIBLE);
                scaleOut.setDuration(duration);
                view.startAnimation(scaleOut);
                Log.i("AnimateHelper", "scale IN effect for " + String.valueOf(duration) + "ms with " + String.valueOf(delay) + "ms delay");
            }
        }, delay);
    } else {
        view.setVisibility(View.VISIBLE);
        scaleOut.setDuration(duration);
        view.startAnimation(scaleOut);
        Log.i("AnimateHelper", "scale IN effect for " + String.valueOf(duration) + "ms with " + String.valueOf(delay) + "ms delay");
    }
    handlerCreator.get(handlerName).postDelayed(new Runnable() {

        @Override
        public void run() {
            view.setVisibility(View.GONE);
        }
    }, delay + 10);
}
Also used : HashMap(java.util.HashMap) AccelerateDecelerateInterpolator(android.view.animation.AccelerateDecelerateInterpolator) Handler(android.os.Handler) View(android.view.View) ScaleAnimation(android.view.animation.ScaleAnimation)

Example 72 with AccelerateDecelerateInterpolator

use of android.view.animation.AccelerateDecelerateInterpolator in project Tapad by berict.

the class AnimateHelper method scaleIn.

public void scaleIn(final View view, final int delay, final long duration, String handlerName) {
    final ScaleAnimation scaleIn = new ScaleAnimation(0, 1, 0, 1, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
    view.setVisibility(View.INVISIBLE);
    scaleIn.setInterpolator(new AccelerateDecelerateInterpolator());
    if (delay > 0) {
        Map<String, Handler> handlerCreator = new HashMap<>();
        handlerCreator.put(handlerName, new Handler());
        handlerCreator.get(handlerName).postDelayed(new Runnable() {

            @Override
            public void run() {
                scaleIn.setDuration(duration);
                view.startAnimation(scaleIn);
                view.setVisibility(View.VISIBLE);
                Log.i("AnimateHelper", "scale IN effect for " + String.valueOf(duration) + "ms with " + String.valueOf(delay) + "ms delay");
            }
        }, delay);
    } else {
        scaleIn.setDuration(duration);
        view.startAnimation(scaleIn);
        view.setVisibility(View.VISIBLE);
        Log.i("AnimateHelper", "scale IN effect for " + String.valueOf(duration) + "ms with " + String.valueOf(delay) + "ms delay");
    }
}
Also used : HashMap(java.util.HashMap) AccelerateDecelerateInterpolator(android.view.animation.AccelerateDecelerateInterpolator) Handler(android.os.Handler) ScaleAnimation(android.view.animation.ScaleAnimation)

Example 73 with AccelerateDecelerateInterpolator

use of android.view.animation.AccelerateDecelerateInterpolator in project Tapad by berict.

the class AnimateHelper method scaleIn.

public void scaleIn(final View view, int touchX, int touchY, final int delay, final long duration, String handlerName, Activity activity) {
    float x = touchX / window.getWindowWidthPx(activity);
    float y = touchY / window.getWindowHeightPx(activity);
    final ScaleAnimation scaleOut = new ScaleAnimation(0, 1, 0, 1, Animation.ABSOLUTE, x, Animation.ABSOLUTE, y);
    scaleOut.setInterpolator(new AccelerateDecelerateInterpolator());
    Map<String, Handler> handlerCreator = new HashMap<>();
    handlerCreator.put(handlerName, new Handler());
    handlerCreator.get(handlerName).postDelayed(new Runnable() {

        @Override
        public void run() {
            view.setVisibility(View.VISIBLE);
            scaleOut.setDuration(duration);
            view.startAnimation(scaleOut);
            Log.i("AnimateHelper", "scale IN effect for " + String.valueOf(duration) + "ms with " + String.valueOf(delay) + "ms delay");
        }
    }, delay);
    handlerCreator.get(handlerName).postDelayed(new Runnable() {

        @Override
        public void run() {
            view.setVisibility(View.GONE);
        }
    }, delay + 10);
}
Also used : HashMap(java.util.HashMap) AccelerateDecelerateInterpolator(android.view.animation.AccelerateDecelerateInterpolator) Handler(android.os.Handler) ScaleAnimation(android.view.animation.ScaleAnimation)

Example 74 with AccelerateDecelerateInterpolator

use of android.view.animation.AccelerateDecelerateInterpolator in project VirtualApp by asLody.

the class RippleButton method onTouchEvent.

@Override
public boolean onTouchEvent(final MotionEvent event) {
    Log.d("TouchEvent", String.valueOf(event.getActionMasked()));
    Log.d("mIsAnimating", String.valueOf(mIsAnimating));
    Log.d("mAnimationIsCancel", String.valueOf(mAnimationIsCancel));
    boolean superResult = super.onTouchEvent(event);
    if (event.getActionMasked() == MotionEvent.ACTION_DOWN && this.isEnabled() && mHover) {
        mRect = new Rect(getLeft(), getTop(), getRight(), getBottom());
        mAnimationIsCancel = false;
        mDownX = event.getX();
        mDownY = event.getY();
        mRadiusAnimator = ObjectAnimator.ofFloat(this, "radius", 0, dp(50)).setDuration(400);
        mRadiusAnimator.setInterpolator(new AccelerateDecelerateInterpolator());
        mRadiusAnimator.addListener(new Animator.AnimatorListener() {

            @Override
            public void onAnimationStart(Animator animator) {
                mIsAnimating = true;
            }

            @Override
            public void onAnimationEnd(Animator animator) {
                setRadius(0);
                ViewHelper.setAlpha(RippleButton.this, 1);
                mIsAnimating = false;
            }

            @Override
            public void onAnimationCancel(Animator animator) {
            }

            @Override
            public void onAnimationRepeat(Animator animator) {
            }
        });
        mRadiusAnimator.start();
        if (!superResult) {
            return true;
        }
    } else if (event.getActionMasked() == MotionEvent.ACTION_MOVE && this.isEnabled() && mHover) {
        mDownX = event.getX();
        mDownY = event.getY();
        // Cancel the ripple animation when moved outside
        if (mAnimationIsCancel = !mRect.contains(getLeft() + (int) event.getX(), getTop() + (int) event.getY())) {
            setRadius(0);
        } else {
            setRadius(dp(50));
        }
        if (!superResult) {
            return true;
        }
    } else if (event.getActionMasked() == MotionEvent.ACTION_UP && !mAnimationIsCancel && this.isEnabled()) {
        mDownX = event.getX();
        mDownY = event.getY();
        final float tempRadius = (float) Math.sqrt(mDownX * mDownX + mDownY * mDownY);
        float targetRadius = Math.max(tempRadius, mMaxRadius);
        if (mIsAnimating) {
            mRadiusAnimator.cancel();
        }
        mRadiusAnimator = ObjectAnimator.ofFloat(this, "radius", dp(50), targetRadius);
        mRadiusAnimator.setDuration(500);
        mRadiusAnimator.setInterpolator(new AccelerateDecelerateInterpolator());
        mRadiusAnimator.addListener(new Animator.AnimatorListener() {

            @Override
            public void onAnimationStart(Animator animator) {
                mIsAnimating = true;
            }

            @Override
            public void onAnimationEnd(Animator animator) {
                setRadius(0);
                ViewHelper.setAlpha(RippleButton.this, 1);
                mIsAnimating = false;
            }

            @Override
            public void onAnimationCancel(Animator animator) {
            }

            @Override
            public void onAnimationRepeat(Animator animator) {
            }
        });
        mRadiusAnimator.start();
        if (!superResult) {
            return true;
        }
    }
    return superResult;
}
Also used : Rect(android.graphics.Rect) Animator(com.nineoldandroids.animation.Animator) ObjectAnimator(com.nineoldandroids.animation.ObjectAnimator) AccelerateDecelerateInterpolator(android.view.animation.AccelerateDecelerateInterpolator)

Example 75 with AccelerateDecelerateInterpolator

use of android.view.animation.AccelerateDecelerateInterpolator in project SmoothProgressBar by castorflex.

the class SmoothProgressBar method applyStyle.

public void applyStyle(int styleResId) {
    TypedArray a = getContext().obtainStyledAttributes(null, R.styleable.SmoothProgressBar, 0, styleResId);
    if (a.hasValue(R.styleable.SmoothProgressBar_spb_color)) {
        setSmoothProgressDrawableColor(a.getColor(R.styleable.SmoothProgressBar_spb_color, 0));
    }
    if (a.hasValue(R.styleable.SmoothProgressBar_spb_colors)) {
        int colorsId = a.getResourceId(R.styleable.SmoothProgressBar_spb_colors, 0);
        if (colorsId != 0) {
            int[] colors = getResources().getIntArray(colorsId);
            if (colors != null && colors.length > 0)
                setSmoothProgressDrawableColors(colors);
        }
    }
    if (a.hasValue(R.styleable.SmoothProgressBar_spb_sections_count)) {
        setSmoothProgressDrawableSectionsCount(a.getInteger(R.styleable.SmoothProgressBar_spb_sections_count, 0));
    }
    if (a.hasValue(R.styleable.SmoothProgressBar_spb_stroke_separator_length)) {
        setSmoothProgressDrawableSeparatorLength(a.getDimensionPixelSize(R.styleable.SmoothProgressBar_spb_stroke_separator_length, 0));
    }
    if (a.hasValue(R.styleable.SmoothProgressBar_spb_stroke_width)) {
        setSmoothProgressDrawableStrokeWidth(a.getDimension(R.styleable.SmoothProgressBar_spb_stroke_width, 0));
    }
    if (a.hasValue(R.styleable.SmoothProgressBar_spb_speed)) {
        setSmoothProgressDrawableSpeed(a.getFloat(R.styleable.SmoothProgressBar_spb_speed, 0));
    }
    if (a.hasValue(R.styleable.SmoothProgressBar_spb_progressiveStart_speed)) {
        setSmoothProgressDrawableProgressiveStartSpeed(a.getFloat(R.styleable.SmoothProgressBar_spb_progressiveStart_speed, 0));
    }
    if (a.hasValue(R.styleable.SmoothProgressBar_spb_progressiveStop_speed)) {
        setSmoothProgressDrawableProgressiveStopSpeed(a.getFloat(R.styleable.SmoothProgressBar_spb_progressiveStop_speed, 0));
    }
    if (a.hasValue(R.styleable.SmoothProgressBar_spb_reversed)) {
        setSmoothProgressDrawableReversed(a.getBoolean(R.styleable.SmoothProgressBar_spb_reversed, false));
    }
    if (a.hasValue(R.styleable.SmoothProgressBar_spb_mirror_mode)) {
        setSmoothProgressDrawableMirrorMode(a.getBoolean(R.styleable.SmoothProgressBar_spb_mirror_mode, false));
    }
    if (a.hasValue(R.styleable.SmoothProgressBar_spb_progressiveStart_activated)) {
        setProgressiveStartActivated(a.getBoolean(R.styleable.SmoothProgressBar_spb_progressiveStart_activated, false));
    }
    if (a.hasValue(R.styleable.SmoothProgressBar_spb_progressiveStart_activated)) {
        setProgressiveStartActivated(a.getBoolean(R.styleable.SmoothProgressBar_spb_progressiveStart_activated, false));
    }
    if (a.hasValue(R.styleable.SmoothProgressBar_spb_gradients)) {
        setSmoothProgressDrawableUseGradients(a.getBoolean(R.styleable.SmoothProgressBar_spb_gradients, false));
    }
    if (a.hasValue(R.styleable.SmoothProgressBar_spb_generate_background_with_colors)) {
        if (a.getBoolean(R.styleable.SmoothProgressBar_spb_generate_background_with_colors, false)) {
            setSmoothProgressDrawableBackgroundDrawable(SmoothProgressBarUtils.generateDrawableWithColors(checkIndeterminateDrawable().getColors(), checkIndeterminateDrawable().getStrokeWidth()));
        }
    }
    if (a.hasValue(R.styleable.SmoothProgressBar_spb_interpolator)) {
        int iInterpolator = a.getInteger(R.styleable.SmoothProgressBar_spb_interpolator, -1);
        Interpolator interpolator;
        switch(iInterpolator) {
            case INTERPOLATOR_ACCELERATEDECELERATE:
                interpolator = new AccelerateDecelerateInterpolator();
                break;
            case INTERPOLATOR_DECELERATE:
                interpolator = new DecelerateInterpolator();
                break;
            case INTERPOLATOR_LINEAR:
                interpolator = new LinearInterpolator();
                break;
            case INTERPOLATOR_ACCELERATE:
                interpolator = new AccelerateInterpolator();
                break;
            default:
                interpolator = null;
        }
        if (interpolator != null) {
            setInterpolator(interpolator);
        }
    }
    a.recycle();
}
Also used : AccelerateDecelerateInterpolator(android.view.animation.AccelerateDecelerateInterpolator) DecelerateInterpolator(android.view.animation.DecelerateInterpolator) AccelerateInterpolator(android.view.animation.AccelerateInterpolator) LinearInterpolator(android.view.animation.LinearInterpolator) TypedArray(android.content.res.TypedArray) AccelerateDecelerateInterpolator(android.view.animation.AccelerateDecelerateInterpolator) AccelerateDecelerateInterpolator(android.view.animation.AccelerateDecelerateInterpolator) Interpolator(android.view.animation.Interpolator) LinearInterpolator(android.view.animation.LinearInterpolator) AccelerateInterpolator(android.view.animation.AccelerateInterpolator) DecelerateInterpolator(android.view.animation.DecelerateInterpolator)

Aggregations

AccelerateDecelerateInterpolator (android.view.animation.AccelerateDecelerateInterpolator)152 ObjectAnimator (android.animation.ObjectAnimator)30 ValueAnimator (android.animation.ValueAnimator)30 Animator (android.animation.Animator)28 View (android.view.View)28 AnimatorSet (android.animation.AnimatorSet)19 Animation (android.view.animation.Animation)19 Handler (android.os.Handler)14 TranslateAnimation (android.view.animation.TranslateAnimation)12 AnimatorListenerAdapter (android.animation.AnimatorListenerAdapter)10 AccelerateInterpolator (android.view.animation.AccelerateInterpolator)10 AlphaAnimation (android.view.animation.AlphaAnimation)10 ImageView (android.widget.ImageView)10 Paint (android.graphics.Paint)9 DecelerateInterpolator (android.view.animation.DecelerateInterpolator)9 LinearInterpolator (android.view.animation.LinearInterpolator)9 ScaleAnimation (android.view.animation.ScaleAnimation)9 PropertyValuesHolder (android.animation.PropertyValuesHolder)8 TextView (android.widget.TextView)8 Point (android.graphics.Point)7