add Animation to View - Android User Interface

Android examples for User Interface:View Animation

Description

add Animation to View

Demo Code


//package com.java2s;

import android.view.View;

import android.view.animation.Animation;

import android.view.animation.AnimationSet;
import android.view.animation.ScaleAnimation;

public class Main {
    static void addAnimation(View view, Animation animation) {
        addAnimation(view, animation, false);
    }//from  w ww. ja  v a2 s  .com

    static void addAnimation(View view, Animation animation, boolean first) {
        Animation previousAnimation = view.getAnimation();
        if (previousAnimation == null
                || previousAnimation.getClass() == animation.getClass()) {
            if (animation.getStartTime() == Animation.START_ON_FIRST_FRAME)
                view.startAnimation(animation);
            else
                view.setAnimation(animation);
            return;
        }

        if (!(previousAnimation instanceof AnimationSet)) {
            AnimationSet newSet = new AnimationSet(false);
            newSet.addAnimation(previousAnimation);
            previousAnimation = newSet;
        }

        // Remove old of same type
        //
        AnimationSet set = (AnimationSet) previousAnimation;
        for (int i = 0; i < set.getAnimations().size(); i++) {
            Animation anim = set.getAnimations().get(i);
            if (anim.getClass() == animation.getClass()) {
                set.getAnimations().remove(i);
                break;
            }
        }

        // Add this (first if it is a scale animation ,else at end)
        if (animation instanceof ScaleAnimation || first) {
            set.getAnimations().add(0, animation);
        } else {
            set.getAnimations().add(animation);
        }

        animation.startNow();
        view.setAnimation(set);
    }
}

Related Tutorials