Android Open Source - AndroidViewAnimations Base View Animator






From Project

Back to project page AndroidViewAnimations.

License

The source code is released under:

MIT License

If you think the Android project AndroidViewAnimations listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * The MIT License (MIT)//  w  ww.j ava 2s .c o m
 *
 * Copyright (c) 2014 daimajia
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */

package com.daimajia.androidanimations.library;

import android.view.View;
import android.view.animation.Interpolator;

import com.nineoldandroids.animation.Animator.AnimatorListener;
import com.nineoldandroids.animation.AnimatorSet;
import com.nineoldandroids.view.ViewHelper;

public abstract class BaseViewAnimator {

    public static final long DURATION = 1000;

    private AnimatorSet mAnimatorSet;
    private long mDuration = DURATION;

    {
        mAnimatorSet = new AnimatorSet();
    }


    protected abstract void prepare(View target);

    public BaseViewAnimator setTarget(View target) {
        reset(target);
        prepare(target);
        return this;
    }

    public void animate() {
        start();
    }

    /**
     * reset the view to default status
     *
     * @param target
     */
    public void reset(View target) {
        ViewHelper.setAlpha(target, 1);
        ViewHelper.setScaleX(target, 1);
        ViewHelper.setScaleY(target, 1);
        ViewHelper.setTranslationX(target, 0);
        ViewHelper.setTranslationY(target, 0);
        ViewHelper.setRotation(target, 0);
        ViewHelper.setRotationY(target, 0);
        ViewHelper.setRotationX(target, 0);
        ViewHelper.setPivotX(target, target.getMeasuredWidth() / 2.0f);
        ViewHelper.setPivotY(target, target.getMeasuredHeight() / 2.0f);
    }

    /**
     * start to animate
     */
    public void start() {
        mAnimatorSet.setDuration(mDuration);
        mAnimatorSet.start();
    }

    public BaseViewAnimator setDuration(long duration) {
        mDuration = duration;
        return this;
    }

    public BaseViewAnimator setStartDelay(long delay) {
        getAnimatorAgent().setStartDelay(delay);
        return this;
    }

    public long getStartDelay() {
        return mAnimatorSet.getStartDelay();
    }

    public BaseViewAnimator addAnimatorListener(AnimatorListener l) {
        mAnimatorSet.addListener(l);
        return this;
    }

    public void cancel(){
        mAnimatorSet.cancel();
    }

    public boolean isRunning(){
        return mAnimatorSet.isRunning();
    }

    public boolean isStarted(){
        return mAnimatorSet.isStarted();
    }

    public void removeAnimatorListener(AnimatorListener l) {
        mAnimatorSet.removeListener(l);
    }

    public void removeAllListener() {
        mAnimatorSet.removeAllListeners();
    }

    public BaseViewAnimator setInterpolator(Interpolator interpolator) {
        mAnimatorSet.setInterpolator(interpolator);
        return this;
    }

    public long getDuration() {
        return mDuration;
    }

    public AnimatorSet getAnimatorAgent() {
        return mAnimatorSet;
    }

}




Java Source Code List

com.daimajia.androidanimations.EffectAdapter.java
com.daimajia.androidanimations.ExampleActivity.java
com.daimajia.androidanimations.MyActivity.java
com.daimajia.androidanimations.library.BaseViewAnimator.java
com.daimajia.androidanimations.library.Techniques.java
com.daimajia.androidanimations.library.YoYo.java
com.daimajia.androidanimations.library.attention.BounceAnimator.java
com.daimajia.androidanimations.library.attention.FlashAnimator.java
com.daimajia.androidanimations.library.attention.PulseAnimator.java
com.daimajia.androidanimations.library.attention.RubberBandAnimator.java
com.daimajia.androidanimations.library.attention.ShakeAnimator.java
com.daimajia.androidanimations.library.attention.StandUpAnimator.java
com.daimajia.androidanimations.library.attention.SwingAnimator.java
com.daimajia.androidanimations.library.attention.TadaAnimator.java
com.daimajia.androidanimations.library.attention.WaveAnimator.java
com.daimajia.androidanimations.library.attention.WobbleAnimator.java
com.daimajia.androidanimations.library.bouncing_entrances.BounceInAnimator.java
com.daimajia.androidanimations.library.bouncing_entrances.BounceInDownAnimator.java
com.daimajia.androidanimations.library.bouncing_entrances.BounceInLeftAnimator.java
com.daimajia.androidanimations.library.bouncing_entrances.BounceInRightAnimator.java
com.daimajia.androidanimations.library.bouncing_entrances.BounceInUpAnimator.java
com.daimajia.androidanimations.library.fading_entrances.FadeInAnimator.java
com.daimajia.androidanimations.library.fading_entrances.FadeInDownAnimator.java
com.daimajia.androidanimations.library.fading_entrances.FadeInLeftAnimator.java
com.daimajia.androidanimations.library.fading_entrances.FadeInRightAnimator.java
com.daimajia.androidanimations.library.fading_entrances.FadeInUpAnimator.java
com.daimajia.androidanimations.library.fading_exits.FadeOutAnimator.java
com.daimajia.androidanimations.library.fading_exits.FadeOutDownAnimator.java
com.daimajia.androidanimations.library.fading_exits.FadeOutLeftAnimator.java
com.daimajia.androidanimations.library.fading_exits.FadeOutRightAnimator.java
com.daimajia.androidanimations.library.fading_exits.FadeOutUpAnimator.java
com.daimajia.androidanimations.library.flippers.FlipInXAnimator.java
com.daimajia.androidanimations.library.flippers.FlipOutXAnimator.java
com.daimajia.androidanimations.library.flippers.FlipOutYAnimator.java
com.daimajia.androidanimations.library.flippers.FlipYAnimator.java
com.daimajia.androidanimations.library.rotating_entrances.RotateInAnimator.java
com.daimajia.androidanimations.library.rotating_entrances.RotateInDownLeftAnimator.java
com.daimajia.androidanimations.library.rotating_entrances.RotateInDownRightAnimator.java
com.daimajia.androidanimations.library.rotating_entrances.RotateInUpLeftAnimator.java
com.daimajia.androidanimations.library.rotating_entrances.RotateInUpRightAnimator.java
com.daimajia.androidanimations.library.rotating_exits.RotateOutAnimator.java
com.daimajia.androidanimations.library.rotating_exits.RotateOutDownLeftAnimator.java
com.daimajia.androidanimations.library.rotating_exits.RotateOutDownRightAnimator.java
com.daimajia.androidanimations.library.rotating_exits.RotateOutUpLeftAnimator.java
com.daimajia.androidanimations.library.rotating_exits.RotateOutUpRightAnimator.java
com.daimajia.androidanimations.library.sliders.SlideInDownAnimator.java
com.daimajia.androidanimations.library.sliders.SlideInLeftAnimator.java
com.daimajia.androidanimations.library.sliders.SlideInRightAnimator.java
com.daimajia.androidanimations.library.sliders.SlideInUpAnimator.java
com.daimajia.androidanimations.library.sliders.SlideOutDownAnimator.java
com.daimajia.androidanimations.library.sliders.SlideOutLeftAnimator.java
com.daimajia.androidanimations.library.sliders.SlideOutRightAnimator.java
com.daimajia.androidanimations.library.sliders.SlideOutUpAnimator.java
com.daimajia.androidanimations.library.specials.HingeAnimator.java
com.daimajia.androidanimations.library.specials.RollInAnimator.java
com.daimajia.androidanimations.library.specials.RollOutAnimator.java
com.daimajia.androidanimations.library.specials.in.DropOutAnimator.java
com.daimajia.androidanimations.library.specials.in.LandingAnimator.java
com.daimajia.androidanimations.library.specials.out.TakingOffAnimator.java
com.daimajia.androidanimations.library.zooming_entrances.ZoomInAnimator.java
com.daimajia.androidanimations.library.zooming_entrances.ZoomInDownAnimator.java
com.daimajia.androidanimations.library.zooming_entrances.ZoomInLeftAnimator.java
com.daimajia.androidanimations.library.zooming_entrances.ZoomInRightAnimator.java
com.daimajia.androidanimations.library.zooming_entrances.ZoomInUpAnimator.java
com.daimajia.androidanimations.library.zooming_exits.ZoomOutAnimator.java
com.daimajia.androidanimations.library.zooming_exits.ZoomOutDownAnimator.java
com.daimajia.androidanimations.library.zooming_exits.ZoomOutLeftAnimator.java
com.daimajia.androidanimations.library.zooming_exits.ZoomOutRightAnimator.java
com.daimajia.androidanimations.library.zooming_exits.ZoomOutUpAnimator.java