package com.chiemy.pagetransformerdemo; import android.support.v4.view.ViewPager.PageTransformer; import android.view.View; import android.view.ViewGroup; public class TranslatePageTransformer implements PageTransformer { //屏幕左边界position=0,右边界position=1 public void transformPage(View view, float position) { int pageWidth = view.getWidth(); int pageHeight = view.getHeight(); if (position < -1) { // [-Infinity,-1) // 向左滑动,当前页面的前一页. view.setAlpha(0); } else if (position <= 1) { // [-1,1] view.setAlpha(1); View contentView = view.findViewById(R.id.content); if(contentView instanceof ViewGroup){ ViewGroup vg = (ViewGroup) contentView; for(int i = 0 ; i < vg.getChildCount() ; i++){ View child = vg.getChildAt(i); float factor = (float) (Math.random() * 0.4); if(child.getTag() != null){ factor = Float.valueOf(child.getTag().toString()); }else{ child.setTag(factor); } child.setTranslationX(position * factor * pageWidth); } } } else { // (1,+Infinity] //向右滑动,当前页面的后一页 view.setAlpha(0); } } }