Android Open Source - Paginize Zoom Page Animator






From Project

Back to project page Paginize.

License

The source code is released under:

Copyright (c) 2014 neevek <i at neevek.net> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal ...

If you think the Android project Paginize 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

package net.neevek.android.lib.paginize.anim;
//ww  w .  j  av a 2 s  . com
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.view.animation.AnimationSet;
import android.view.animation.ScaleAnimation;
import net.neevek.android.lib.paginize.Page;

/**
 * Created with IntelliJ IDEA.
 * User: neevek
 * Date: 10/17/13
 * Time: 11:06 AM
 */
public class ZoomPageAnimator implements PageAnimator {
    private final static int ANIMATION_DURATION = 200;
    private Animation mInAnimation;
    private Animation mOutAnimation;

    private Animation mFadeOutAnimation;

    public ZoomPageAnimator () {
        initAnimations();
    }

    private void initAnimations() {
        Animation inScaleAnimation = new ScaleAnimation(1.1f, 1, 1.1f, 1, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
        Animation inAlphaAnimation = new AlphaAnimation(0.3f, 1f);
        AnimationSet inAnimationSet = new AnimationSet(true);
        inAnimationSet.setDuration(ANIMATION_DURATION);
        inAnimationSet.addAnimation(inScaleAnimation);
        inAnimationSet.addAnimation(inAlphaAnimation);
        mInAnimation = inAnimationSet;

        Animation outScaleAnimation = new ScaleAnimation(1, 1.4f, 1, 1.4f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
        Animation outAlphaAnimation = new AlphaAnimation(1f, 0f);
        AnimationSet outAnimationSet = new AnimationSet(true);
        outAnimationSet.setDuration(ANIMATION_DURATION);
        outAnimationSet.addAnimation(outScaleAnimation);
        outAnimationSet.addAnimation(outAlphaAnimation);
        mOutAnimation = outAnimationSet;

        mFadeOutAnimation = new AlphaAnimation(0.8f, 0.0f);
        mFadeOutAnimation.setDuration(ANIMATION_DURATION);
    }

    @Override
    public boolean onPushPageAnimation(Page oldPage, Page newPage, boolean hint) {
        if (oldPage != null) {
            oldPage.getView().startAnimation(mFadeOutAnimation);
        }

        newPage.getView().startAnimation(mInAnimation);

        return true;
    }

    @Override
    public boolean onPopPageAnimation(Page oldPage, Page newPage, boolean hint) {
        oldPage.getView().startAnimation(mOutAnimation);

        return true;
    }

    @Override
    public int getAnimationDuration() {
        return ANIMATION_DURATION;
    }
}




Java Source Code List

net.neevek.android.demo.paginize.activities.MainActivity.java
net.neevek.android.demo.paginize.pages.general.FrameInnerPage.java
net.neevek.android.demo.paginize.pages.general.FramePage.java
net.neevek.android.demo.paginize.pages.main.MainPage.java
net.neevek.android.demo.paginize.pages.main.TabPage1.java
net.neevek.android.demo.paginize.pages.main.TabPage2.java
net.neevek.android.demo.paginize.pages.other.AlertPage.java
net.neevek.android.demo.paginize.pages.other.ListItemPage.java
net.neevek.android.demo.paginize.pages.other.ListPage.java
net.neevek.android.demo.paginize.pages.other.TestPage.java
net.neevek.android.demo.paginize.pages.viewpager.MyViewPagerPage.java
net.neevek.android.demo.paginize.pages.viewpager.ViewPageSubPage1.java
net.neevek.android.demo.paginize.pages.viewpager.ViewPageSubPage2.java
net.neevek.android.lib.paginize.InnerPageContainer.java
net.neevek.android.lib.paginize.InnerPageManager.java
net.neevek.android.lib.paginize.InnerPage.java
net.neevek.android.lib.paginize.PageActivity.java
net.neevek.android.lib.paginize.PageDataCallback.java
net.neevek.android.lib.paginize.PageManager.java
net.neevek.android.lib.paginize.PagePagerAdapter.java
net.neevek.android.lib.paginize.Page.java
net.neevek.android.lib.paginize.ViewPagerInnerPage.java
net.neevek.android.lib.paginize.ViewPagerPage.java
net.neevek.android.lib.paginize.ViewWrapper.java
net.neevek.android.lib.paginize.anim.PageAnimator.java
net.neevek.android.lib.paginize.anim.SlidePageAnimator.java
net.neevek.android.lib.paginize.anim.ZoomPageAnimator.java
net.neevek.android.lib.paginize.annotation.DecoratePageConstructor.java
net.neevek.android.lib.paginize.annotation.InheritPageLayout.java
net.neevek.android.lib.paginize.annotation.InjectPageAnimator.java
net.neevek.android.lib.paginize.annotation.InjectView.java
net.neevek.android.lib.paginize.annotation.InnerPageContainerLayoutResId.java
net.neevek.android.lib.paginize.annotation.PageLayout.java
net.neevek.android.lib.paginize.annotation.SetListeners.java
net.neevek.android.lib.paginize.annotation.ViewPagerResId.java
net.neevek.android.lib.paginize.exception.InjectFailedException.java
net.neevek.android.lib.paginize.exception.NotImplementedInterfaceException.java
net.neevek.android.lib.paginize.util.AnnotationUtils.java
net.neevek.android.lib.paginize.util.ViewFinder.java