setPageTransformer几个特效
来源:互联网 发布:八卦九宫打法优化版 编辑:程序博客网 时间:2024/06/08 07:05
1、DepthPageTransformer
import android.support.v4.view.ViewPager;import android.view.View;/** * Created by Administrator on 2016/8/12. */public class DepthPageTransformer implements ViewPager.PageTransformer{ private static final float MIN_SCALE=0.75f; @Override public void transformPage(View view, float position) { int pageWidth = view.getWidth(); if (position<-1){ view.setAlpha(0); }else if(position<=0){ view.setAlpha(1); view.setTranslationX(0); view.setScaleX(1); view.setScaleY(1); }else if (position<=1){ view.setAlpha(1-position); view.setTranslationX(pageWidth*-position); float scaleFactor=MIN_SCALE+(1-MIN_SCALE)*(1-Math.abs(position)); view.setScaleY(scaleFactor); view.setScaleY(scaleFactor); }else{ view.setAlpha(0); } }}2、RotateDownPageTransformer
import android.support.v4.view.ViewPager;import android.view.View;/** * Created by Administrator on 2016/8/12. */public class RotateDownPageTransformer implements ViewPager.PageTransformer { private static final float ROT_MAX=20.0f; private float mRot; @Override public void transformPage(View view, float position) { if (position<-1){ view.setRotation(0); }else if (position<=1){ // if (position<0){ // mRot=(ROT_MAX*position); // view.setPivotX(); // view.setPivotX(view.getMeasuredWidth()*0.5f); // view.setPivotY(view.getMeasuredHeight()); // view.setRotation(mRot); // }else { mRot=(ROT_MAX*position); view.setPivotX(view.getMeasuredWidth()*0.5f); view.setPivotY(view.getMeasuredHeight()); view.setRotation(mRot); // } }else{ view.setRotation(0); } }}
3、ZoomOutPageTransformer
import android.support.v4.view.ViewPager;import android.view.View;/** * Created by Administrator on 2016/8/12. */public class ZoomOutPageTransformer implements ViewPager.PageTransformer { private static final float MIN_SCALE=0.85f; private static final float MIN_ALPHA=0.5f; @Override public void transformPage(View view, float position) { int pageWidth = view.getWidth(); int pageHeight = view.getHeight(); if (position<-1){ view.setAlpha(0); }else if(position<=1){ float scaleFactor=Math.max(MIN_SCALE,1-Math.abs(position)); float vertMargin=pageHeight*(1-scaleFactor)/2; float horzMargin=pageHeight*(1-scaleFactor)/2; if (position<0){ view.setTranslationX(horzMargin-vertMargin/2); }else { view.setTranslationX(-horzMargin+vertMargin/2); } view.setScaleX(scaleFactor); view.setScaleY(scaleFactor); view.setAlpha(MIN_ALPHA+(scaleFactor-MIN_SCALE)/(1-MIN_SCALE)*(1-MIN_ALPHA)); }else { view.setAlpha(0); } }}
0 0
- setPageTransformer几个特效
- Android-->ViewPager setPageTransformer的简单理解
- 关于FLEX特效的几个网址
- 关于FLEX特效的几个网址
- 几个不错的jquery导航菜单特效
- Unity几个有用的游戏运动特效
- Unity几个有用的游戏运动特效
- 关于Flex特效的几个网站
- iOS的几个特效实现思路
- Unity几个有用的游戏运动特效
- 分享几个超级震憾的jquery图片特效
- Unity几个有用的游戏运动特效介绍
- 推荐几个jquery特效比较好的网站
- CATransform3D 特效详解(关于图层的几个坐标系)
- 用Python实现几个简单的图片特效
- 特效
- 特效
- 特效
- 【Linux】PCB(进程控制块)--‘task_struct’
- win7+NodeJS+MongoDB+Smart Table
- Java栈数据结构的实现方式
- SQL Server无法远程连接
- 2016-8-14 笔记
- setPageTransformer几个特效
- 实习问题小总结
- 二叉树相关面试题目之实例总结
- A. Launch of Collider
- Map集合
- Java技术——Java反射机制分析
- 简单计算器
- Live Archive 3983 Robotruck
- spring mvc支持返回json