Android Open Source - AndroidImageSlider Zoom Out Slide Transformer






From Project

Back to project page AndroidImageSlider.

License

The source code is released under:

MIT License

If you think the Android project AndroidImageSlider 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 com.daimajia.slider.library.Transformers;
//  w ww  .j  a v  a  2  s  .  c  o  m
import android.view.View;

import com.nineoldandroids.view.ViewHelper;

public class ZoomOutSlideTransformer extends BaseTransformer {

  private static final float MIN_SCALE = 0.85f;
  private static final float MIN_ALPHA = 0.5f;

  @Override
  protected void onTransform(View view, float position) {
    if (position >= -1 || position <= 1) {
      // Modify the default slide transition to shrink the page as well
      final float height = view.getHeight();
      final float scaleFactor = Math.max(MIN_SCALE, 1 - Math.abs(position));
      final float vertMargin = height * (1 - scaleFactor) / 2;
      final float horzMargin = view.getWidth() * (1 - scaleFactor) / 2;

            // Center vertically
            ViewHelper.setPivotY(view,0.5f * height);


      if (position < 0) {
                ViewHelper.setTranslationX(view,horzMargin - vertMargin / 2);
      } else {
                ViewHelper.setTranslationX(view,-horzMargin + vertMargin / 2);
      }

      // Scale the page down (between MIN_SCALE and 1)
      ViewHelper.setScaleX(view,scaleFactor);
            ViewHelper.setScaleY(view,scaleFactor);

      // Fade the page relative to its size.
            ViewHelper.setAlpha(view,MIN_ALPHA + (scaleFactor - MIN_SCALE) / (1 - MIN_SCALE) * (1 - MIN_ALPHA));
    }
  }

}




Java Source Code List

com.daimajia.slider.demo.ChildAnimationExample.java
com.daimajia.slider.demo.MainActivity.java
com.daimajia.slider.demo.TransformerAdapter.java
com.daimajia.slider.library.SliderAdapter.java
com.daimajia.slider.library.SliderLayout.java
com.daimajia.slider.library.Animations.BaseAnimationInterface.java
com.daimajia.slider.library.Animations.DescriptionAnimation.java
com.daimajia.slider.library.Indicators.PagerIndicator.java
com.daimajia.slider.library.SliderTypes.BaseSliderView.java
com.daimajia.slider.library.SliderTypes.DefaultSliderView.java
com.daimajia.slider.library.SliderTypes.TextSliderView.java
com.daimajia.slider.library.Transformers.AccordionTransformer.java
com.daimajia.slider.library.Transformers.BackgroundToForegroundTransformer.java
com.daimajia.slider.library.Transformers.BaseTransformer.java
com.daimajia.slider.library.Transformers.CubeInTransformer.java
com.daimajia.slider.library.Transformers.DefaultTransformer.java
com.daimajia.slider.library.Transformers.DepthPageTransformer.java
com.daimajia.slider.library.Transformers.FadeTransformer.java
com.daimajia.slider.library.Transformers.FlipHorizontalTransformer.java
com.daimajia.slider.library.Transformers.FlipPageViewTransformer.java
com.daimajia.slider.library.Transformers.ForegroundToBackgroundTransformer.java
com.daimajia.slider.library.Transformers.RotateDownTransformer.java
com.daimajia.slider.library.Transformers.RotateUpTransformer.java
com.daimajia.slider.library.Transformers.StackTransformer.java
com.daimajia.slider.library.Transformers.TabletTransformer.java
com.daimajia.slider.library.Transformers.ZoomInTransformer.java
com.daimajia.slider.library.Transformers.ZoomOutSlideTransformer.java
com.daimajia.slider.library.Transformers.ZoomOutTransformer.java
com.daimajia.slider.library.Tricks.FixedSpeedScroller.java
com.daimajia.slider.library.Tricks.InfinitePagerAdapter.java
com.daimajia.slider.library.Tricks.InfiniteViewPager.java
com.daimajia.slider.library.Tricks.ViewPagerEx.java