translate the view with Animation - Android Animation

Android examples for Animation:Translate Animation

Description

translate the view with Animation

Demo Code


//package com.java2s;
import android.view.View;

import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;
import android.view.animation.CycleInterpolator;
import android.view.animation.TranslateAnimation;

public class Main {
    /**//from w  w w  .j a v a 2 s . com
     * translate the view.
     *
     * @param view           view to be translated
     * @param fromXDelta     Change in X coordinate to apply at the start of the
     *                       animation
     * @param toXDelta       Change in X coordinate to apply at the end of the
     *                       animation
     * @param fromYDelta     Change in Y coordinate to apply at the start of the
     *                       animation
     * @param toYDelta       Change in Y coordinate to apply at the end of the
     *                       animation
     * @param cycles         Repeats the animation for a specified number of cycles {@link CycleInterpolator}.
     * @param durationMillis Duration in milliseconds
     * @param isBanClick     whether view can click in animation
     */
    public static void translate(final View view, float fromXDelta,
            float toXDelta, float fromYDelta, float toYDelta, float cycles,
            long durationMillis, final boolean isBanClick) {
        TranslateAnimation translateAnimation = new TranslateAnimation(
                fromXDelta, toXDelta, fromYDelta, toYDelta);
        translateAnimation.setDuration(durationMillis);
        if (cycles > 0.0) {
            translateAnimation
                    .setInterpolator(new CycleInterpolator(cycles));
        }
        translateAnimation.setAnimationListener(new AnimationListener() {
            @Override
            public void onAnimationStart(Animation animation) {
                if (isBanClick) {
                    view.setClickable(false);
                }
            }

            @Override
            public void onAnimationRepeat(Animation animation) {

            }

            @Override
            public void onAnimationEnd(Animation animation) {
                if (isBanClick) {
                    view.setClickable(true);
                }
            }
        });
        view.startAnimation(translateAnimation);
    }

    /**
     * translate the view.
     *
     * @param view           view to be translated
     * @param fromXDelta     Change in X coordinate to apply at the start of the
     *                       animation
     * @param toXDelta       Change in X coordinate to apply at the end of the
     *                       animation
     * @param fromYDelta     Change in Y coordinate to apply at the start of the
     *                       animation
     * @param toYDelta       Change in Y coordinate to apply at the end of the
     *                       animation
     * @param cycles         Repeats the animation for a specified number of cycles {@link CycleInterpolator}.
     * @param durationMillis Duration in milliseconds
     */
    public static void translate(final View view, float fromXDelta,
            float toXDelta, float fromYDelta, float toYDelta, float cycles,
            long durationMillis) {
        translate(view, fromXDelta, toXDelta, fromYDelta, toYDelta, cycles,
                durationMillis, false);
    }
}

Related Tutorials