android.view.animation.Animation#getClass()源码实例Demo

下面列出了android.view.animation.Animation#getClass() 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: ripple   文件: AnimationHelpers.java
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);
}
 
源代码2 项目: CameraV   文件: UIHelpers.java
public static void addAnimation(View view, Animation animation, boolean first)
{
	Animation previousAnimation = view.getAnimation();
	if (previousAnimation == null || previousAnimation.getClass() == animation.getClass())
	{
		view.startAnimation(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);
}