使用方法

  1. setPageTransformer
  2.  
  3. 例如: ViewPager.setPageTransformer(true, new ZoomOutPageTransformer())
  1. package com.hellotalk.view;
  2.  
  3. import android.annotation.SuppressLint;
  4. import android.support.v4.view.ViewPager.PageTransformer;
  5. import android.view.View;
  6. /**
  7. *
  8. * @author way
  9. *
  10. */
  11. @SuppressLint("NewApi")
  12. public class ZoomOutPageTransformer implements PageTransformer {
  13. private static float MIN_SCALE = 0.85f;
  14.  
  15. private static float MIN_ALPHA = 0.5f;
  16.  
  17. @Override
  18. public void transformPage(View view, float position) {
  19. int pageWidth = view.getWidth();
  20. int pageHeight = view.getHeight();
  21.  
  22. if (position < -1) { // [-Infinity,-1)
  23. // This page is way off-screen to the left.
  24. view.setAlpha(0);
  25. } else if (position <= 1) { // [-1,1]
  26. // Modify the default slide transition to
  27. // shrink the page as well
  28. float scaleFactor = Math.max(MIN_SCALE, 1 - Math.abs(position));
  29. float vertMargin = pageHeight * (1 - scaleFactor) / 2;
  30. float horzMargin = pageWidth * (1 - scaleFactor) / 2;
  31. if (position < 0) {
  32. view.setTranslationX(horzMargin - vertMargin / 2);
  33. } else {
  34. view.setTranslationX(-horzMargin + vertMargin / 2);
  35. }
  36. // Scale the page down (between MIN_SCALE and 1)
  37. view.setScaleX(scaleFactor);
  38. view.setScaleY(scaleFactor);
  39. // Fade the page relative to its size.
  40. view.setAlpha(MIN_ALPHA + (scaleFactor - MIN_SCALE)
  41. / (1 - MIN_SCALE) * (1 - MIN_ALPHA));
  42. } else { // (1,+Infinity]
  43. // This page is way off-screen to the right.
  44. view.setAlpha(0);
  45. }
  46. }
  47. }

Android ViewPager动画切换的更多相关文章

  1. Android ViewPager 动画效果

    找到个不错的开源项目:https://github.com/jfeinstein10/JazzyViewPager Android ViewPager 动画效果   

  2. android:ViewPager动画摘要

    动画节目: 我们可以用ViewPager的setPageTransformer办法,至ViewPager动画.示及效果: 1.CubeInTransformer 2.CubeOutTransforme ...

  3. Xamarin.android Activity动画切换效果实现

    http://blog.csdn.net/esunshine1985/article/details/44302903 1.在Resources--values下新建styles.xml,添加内容如下 ...

  4. android:ViewPager动画总结

    设置动画的方案: 我们能够使用ViewPager的setPageTransformer方法,为ViewPager设置动画.下面是几种常见动画的演示及效果: 1.CubeInTransformer wa ...

  5. android viewpager fragment切换时界面卡顿解决办法

    目前开发的程序在切换View时界面卡顿现象比较严重,影响用户体验,当前项目共就四个View,每个View也只是按钮,所以可以同时加载,不让其它view销毁. 只需在Adapter中重载destroyI ...

  6. Android为ViewPager增加切换动画——使用属性动画.

    ViewPager作为Android最常用的的组件之一,相信大家在项目中会频繁的使用到的,例如利用ViewPager制作引导页.轮播图,甚至做整个app的表现层的框架等等. Android3.0以下不 ...

  7. Android至ViewPager添加切换动画——使用属性动画

    转载请注明出处:http://blog.csdn.net/allen315410/article/details/44200623 ViewPager作为Android最经常使用的的组件之中的一个.相 ...

  8. Android -- ViewPager切换动画,PageTransformer

    transformPage(View view, float position) view就是滑动中的那个view,position这里是float类型,是当前滑动状态的一个表示,比如当滑动到正全屏时 ...

  9. Android为ViewPager添加切换动画——自己定义ViewPager

    转载请注明出处:http://blog.csdn.net/allen315410/article/details/44224517 在上篇博客中,我写了一个使用属性动画为ViewPager加入切换动画 ...

随机推荐

  1. 关于label和span设置width无效问题解决方法

    转:http://www.jb51.net/web/113507.html 大家可能不知道默认情况下label.span 设置width 是无效的,只有当display:block时,我们所设置的wi ...

  2. Android全局异常捕捉

    // 定义自定义捕捉 package com.xiaosw.test; import java.io.File; import java.io.FileOutputStream; import jav ...

  3. (11)连个工具类之间的比较4.Collections与Arrays

    集合框架中的工具类:特点:该工具类中的方法都是静态的. Collections:常见方法: 1, 对list进行二分查找: 前提该集合一定要有序. int binarySearch(list,key) ...

  4. CSS: 首字母字体变大时下划线不对齐的解决方法

    昨天在写2017年百度ife任务六的时候遇到了一个排版问题,需要首字母字体变大的同时,下划线对齐. 首先使用了 ::first-letter伪元素的选择器,将字体变大后,发现下划线没法对齐,代码如下: ...

  5. Android设计模式之代理模式

    代理模式: 为其他对象提供一种代理以控制对这个对象的访问 Subject类定义了RealSubject和Proxy的共用接口,这样就在任何使用RealSubject的地方都可以使用Proxy inte ...

  6. Screen的简单使用

    第1步:新建窗口 输入: screen [-S <作业名称>] 第2步:随便干些什么 在窗口中执行任意命令,干什么都行 第3步:挂起窗口 Ctrl + a d 第4步:还原窗口 scree ...

  7. Linux中的grep命令

    grep - print lines matching a pattern 参数: -a 将binary文件以text文件的方式查找 -i 忽略大小写 --color=zuto 加颜色匹配字符串 -v ...

  8. YII2.0 ——安装yii2项目

    有两种安装方式 第一种:使用composer进行安装 composer global require"fxp/composer-asset-plugin:^1.2.0" compo ...

  9. 读书笔记 effective c++ Item 43 了解如何访问模板化基类中的名字

    1. 问题的引入——派生类不会发现模板基类中的名字 假设我们需要写一个应用,使用它可以为不同的公司发送消息.消息可以以加密或者明文(未加密)的方式被发送.如果在编译阶段我们有足够的信息来确定哪个信息会 ...

  10. webpack快速掌握教程

    转载http://yijiebuyi.com/blog/46fb97b11fb8f4055e0b04d1cecb1f69.html #为什么用webpack 如果我们 前端 javascript 能像 ...