实现ViewPager的滑动翻页效果可以使用ViewPager的setPageTransformer方法,如下:

import android.content.Context;

import android.support.v4.view.ViewPager;

import android.util.AttributeSet;

import android.view.View;

public class ReadViewPager extends ViewPager

{

public ReadViewPager(Context context)

{

super(context);

}

public ReadViewPager(Context context, AttributeSet attrs)

{

super(context, attrs);

setAnima();

}

public void setAnima()

{

setPageTransformer(true, new PageTransformer()

{

private static final float MIN_SCALE = 0.75f;

@Override

public void transformPage(View view, float position)

{

int pageWidth = view.getWidth();

int pageHeight =view.getHeight();

if (position < -1)

{

// [-Infinity,-1)

// This page is way off-screen to the left.

view.setAlpha(0);

}

else if (position <= 0)

{

// [-1,0]

// Use the default slide transition when moving to the left page

view.setAlpha(1);

view.setTranslationX(0);

view.setScaleX(1);

view.setScaleY(1);

}

else if (position <= 1)

{

// (0,1]

// Fade the page out.

view.setAlpha(1 - position);

//

// // Counteract the default slide transition

// view.setAlpha(1);

view.setTranslationX(pageWidth * -position);

//

// // Scale the page down (between MIN_SCALE and 1)

float scaleFactor = MIN_SCALE

+ (1 - MIN_SCALE) * (1 - Math.abs(position));

view.setScaleX(scaleFactor);

view.setScaleY(scaleFactor);

}

else

{

// (1,+Infinity]

// This page is way off-screen to the right.

view.setAlpha(0);

}

}

});

}

}

核心代码是android官方demo,以上实现的是翻页效果是:上面一页被滑出界面时,下面一页慢慢显现,透明度慢慢加大,并且大小由小慢慢变大。

不过有一个奇怪的现象,当我做一个答题界面时,刚刚开始我采用ViewPager与View结合实现无限循环切换,并且采用上面的动画效果,可是每当我滑动到最后一张,也就是要开始新的一轮循环的时候,被滑出去的一页也会出现慢慢变透明的情况,而我用ViewPager结合Fragment实现无限循环切换的是就不会出现这种效果

如果想要实现仿造驾考宝典的翻页效果,只要把核心方法改为以下代码便可以了

setPageTransformer(true, new PageTransformer() {

private static final float MIN_SCALE = 0.75f;

@Override

public void transformPage(View view, float position) {

int pageWidth = view.getWidth();

int pageHeight =view.getHeight();

if (position < -1) { // [-Infinity,-1)

// This page is way off-screen to the left.

view.setAlpha(0);

} else if (position <= 0) { // [-1,0]

// Use the default slide transition when moving to the left page

view.setAlpha(1);

view.setTranslationX(0);

view.setScaleX(1);

view.setScaleY(1);

} else if (position <= 1) { // (0,1]

// Fade the page out.

// view.setAlpha(1 - position);

//

// // Counteract the default slide transition

view.setAlpha(1);

view.setTranslationX(pageWidth * -position);

//

// // Scale the page down (between MIN_SCALE and 1)

// float scaleFactor = MIN_SCALE

// + (1 - MIN_SCALE) * (1 - Math.abs(position));

// view.setScaleX(scaleFactor);

// view.setScaleY(scaleFactor);

} else { // (1,+Infinity]

// This page is way off-screen to the right.

view.setAlpha(0);

}

}

});

下面我们来讲讲position参数:

position的可能性的值有:

[-Infinity,-1)  已经看不到了

(1,+Infinity] 已经看不到了

[-1,1]

重点看[-1,1]这个区间 , 其他两个的View都已经看不到了~~

假设现在ViewPager在A页现在滑出B页,则:

A页的position变化就是( 0, -1]

B页的position变化就是[ 1 , 0 ]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

android 翻书动画效果怎么做,android ViewPager实现滑动翻页效果实例代码相关推荐

  1. Android App开发手机阅读中实现平滑翻书效果和卷曲翻书动画实战(附源码 简单易懂 可直接使用)

    需要图片集和源码请点赞关注收藏后评论区留言~~~ 一.平滑翻书效果 与纸质书籍类似,手机上的电子书也有很多页,逐页浏览可采用翻页视图,然而翻页视图犹如一幅从左到右的绵长画卷,与现实生活中上下层叠的书籍 ...

  2. Android开发笔记(一百五十七)使用OpenGL实现翻书动画

    上一篇文章介绍了如何通过纹理渲染绘制地球仪,当然OpenGL的三维图形处理能力是很强大的,只要善于利用OpenGL,就能很方便地虚拟各种现实生活中的动画效果.本文再来谈谈使用OpenGL实现浏览电子书 ...

  3. android控件翻书效果,android ViewPager实现滑动翻页效果实例代码

    实现ViewPager的滑动翻页效果可以使用ViewPager的setPageTransformer方法,如下:import android.content.Context;import androi ...

  4. 使用OpenGL实现翻书动画

    2019独角兽企业重金招聘Python工程师标准>>> 上一篇文章介绍了如何通过纹理渲染绘制地球仪,当然OpenGL的三维图形处理能力是很强大的,只要善于利用OpenGL,就能很方便 ...

  5. uni-app h5、app模式下集成turn.js 翻书动画

    uni-app 集成turnjs 翻书动画 h5 页面 引入JQuery.turn.js 工具类文件,注意引入的顺序 import '@/utils/jquery.min.1.7.js'; impor ...

  6. HTML5+CSS3小实例:翻书动画

    实例:翻书动画 技术栈:HTML+CSS 效果: 源码: <!DOCTYPE html> <html><head><meta http-equiv=" ...

  7. ViewPager实现滑动翻页效果

    实现ViewPager的滑动翻页效果可以使用ViewPager的setPageTransformer方法,如下: import android.content.Context; import andr ...

  8. Android App开发动画特效之利用滚动器实现平滑翻页(附源码和演示 简单易懂)

    需要图片集请点赞关注收藏后评论区留言~~~ 一.利用滚动器实现平滑翻页 在日常生活中,平移动画比较常见,有时也被称为位移动画,左右翻页和上下滚动其实都用到了平移动画,譬如平滑翻书的动画效果,就是位移动 ...

  9. 如何用transition实现翻书动画效果

    下面给大家介绍一个小案例,可以实现翻书的效果,以打开音乐盒为例. 这个案例主要是运用了一个transition的坐标轴,在动画效果中,要求以第二张图片的边缘进行翻页. 代码如下: 先放入两张图片在bo ...

最新文章

  1. java配置文件实现方式_java相关:详解Spring加载Properties配置文件的四种方式
  2. 转-linux系统脚本 环境变量 的启动顺序
  3. HTML5 Canvas 绘制库存变化折线 增加超储告罄线
  4. opencv求解AX=0
  5. 20 年后,我们怎么看电影?
  6. Qt笔记-windows下拷贝文件夹中所有文件
  7. 支持向量机(SVM)推导
  8. 2015计算机类专业课类试卷,2015年自考《计算机应用基础》模拟试题及答案
  9. Android NDK开发之 arm_neon.h文件ABI说明
  10. 「代码随想录」416. 分割等和子集【动态规划】力扣详解!
  11. 设计模式——模板方法模式
  12. 捷径|Instagram去水印教程
  13. 看程序员如何使用Python快速给视频添加字幕
  14. udp buffer 和reassemble buffer
  15. np.delete详解
  16. 【最新最详细】SQL Server 2019 安装教程{超详细 附网盘下载链接}
  17. 精彩来袭!华为将携手数据库领域专家出席NDBC 2021
  18. 【读书笔记】赞成功利主义的学习
  19. adventure项目 可视化看板总结
  20. 谨慎使用Encoding.Default

热门文章

  1. python调用阿里云sdk
  2. 哲学家就餐问题python解决_关于哲学家就餐问题的分析代码.
  3. 计算机导论以python为舟大纲,清华大学出版社-图书详情-《计算机科学导论——以Python为舟(第3版)》...
  4. 台舟电源芯片 TPMP1470使用问题记录
  5. Visio用UML2.2模板包
  6. 木鱼《觉醒年代》观后感
  7. 统计|如何理解假设检验中单侧检验与双侧检验
  8. Win7高级应用技巧
  9. 汉字区位码、机内码学习笔记
  10. linux远程 p2p下载,在linux as3中利用iptables+ipp2p限制bt、eMule等下载