ViewPager有个方法叫做:

setPageTransformer(boolean reverseDrawingOrder, PageTransformer transformer)

用于设置ViewPager切换时的动画效果。

这里我们只要自定义一个PageTransformer来实现我们需要的动画偏移效果就好了!

public class ScrollOffsetTransformer implements PageTransformer {

private static final float MIN_SCALE = 0.85F;

/**

* position参数指明给定页面相对于屏幕中心的位置。它是一个动态属性,会随着页面的滚动而改变。

* 当一个页面(page)填充整个屏幕时,positoin值为0; 当一个页面(page)刚刚离开屏幕右(左)侧时,position值为1(-1);

* 当两个页面分别滚动到一半时,其中一个页面是-0.5,另一个页面是0.5。

* 基于屏幕上页面的位置,通过诸如setAlpha()、setTranslationX

* ()或setScaleY()方法来设置页面的属性,创建自定义的滑动动画。

*/

@Override

public void transformPage(View view, float position) {

// TODO Auto-generated method stub

float scaleFactor = Math.max(MIN_SCALE, 1 - Math.abs(position));

float rotate = 30 * Math.abs(position);

float transla = 50 * Math.abs(position);

if (position > 0) {

view.setScaleX(scaleFactor);

view.setScaleY(scaleFactor);

view.setRotationY(-rotate);

view.setTranslationX(-transla);

} else {

view.setScaleX(scaleFactor);

view.setScaleY(scaleFactor);

view.setRotationY(rotate);

view.setTranslationX(transla);

}

}

}

然后

viewPager

加上

viewPager.setPageTransformer(true, new ScrollOffsetTransformer())

以上所述是小编给大家介绍的Android viewpager 3D画廊的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

android3d画廊自动切换,Android viewpager 3D画廊的实现方法相关推荐

  1. android3d画廊自动切换,Android实例(一)—— 3D画廊

    3D画廊 之前我都是写的学习的内容,我在写这些教程时遇到有趣的炫酷的小例子也会专门拿出来写一篇文章,今天就写一个酷炫的小例子,叫3D画廊,它是属于ViewPage的进阶版. 下面的指示器是使用的一大神 ...

  2. android小圆点滑动切换,android ViewPager 实现点击小圆点切换页面 案例

    android ViewPager  实现点击小圆点切换页面 说明:在viewpager中,通过左右滑动可以切换页面,同样可以通过点击所指示的小圆点来滑动到某个页面页面. 具体实现方法如下: 主要ac ...

  3. android开发实例之viewpager无限循环+自动滚动,Android ViewPager实现无限循环的实例...

    Android ViewPager实现无限循环的实例 ViewPager自身并不支持左右无限循环的功能,这里就提供一种方案让Android ViewPager实现左右无限循环的功能,这里记录下: 用于 ...

  4. android studio gradle 自动更新,android studio gradle 两种更新方法更新

    又快一年没有使用AS了,正好要查看一个Android项目代码,干脆升级到新版试试看新变化,旧版本为3.1.2,目前最新版本为3.4.2,AS的升级是很简单的直接update等待即可. 升级完了,打开G ...

  5. android viewpager实现画廊效果,android viewpager 实现画廊效果

    首先看一下效果图: xml布局: activity代码: (这里我是在fragment里面写的 ,其实跟activity布局里面差不多) public class FollowFragment ext ...

  6. android+tv+自动切换,Android TV 重写GridView,实现焦点放大效果

    关于缩放,使用了view.setScaleX/Y 方法,api11以上即可. 重写dispatchDraw(),绘制选中项的焦点效果.(注意带阴影的焦点图需要微调偏移量) 要将选中项绘制显示在顶层,所 ...

  7. android 导航自动切换,Android导航抽屉切换图标向右

    吃鸡游戏 我为EndDrawerToggle该类编写了一个与您的设置非常相似的设置- DrawerLayout带末端对齐的抽屉View,AppCompatActivity带有自定义Toolbar的支持 ...

  8. android听筒+扬声器自动切换,Android 扬声器与听筒的切换

    本文主要实现扬声器与听筒的切换.而android中实现对音量和振铃模式的控制主要通过AudioManager类来实现. AudioManager类 关于喇叭与听筒的主要方法 1. AudioManag ...

  9. android听筒+扬声器自动切换,Android VOIP中的扬声器、听筒切换

    在做voip通话的过程中,会频繁使用到免提播放和听筒接听的功能,而如何正确的切换,和AudioManager的调度是分不开的,直接上代码: //获取AudioManager服务 private val ...

  10. android 静态图片自动切换,Android静态图片人脸识别的完整demo(附完整源码)

    Android静态图片人脸识别的完整demo(附完整源码) 来源:互联网 作者:佚名 时间:2015-03-24 20:07 本文介绍了android静态识别人脸并进行标记人眼位置及人脸框的完整dem ...

最新文章

  1. [笔记]C#基础入门(八)——C#标识符的命名规则
  2. onbeforedunload事件
  3. php主要算法设计,四种排序算法设计(PHP)
  4. 一文全览,深度学习时代下,复杂场景下的 OCR 如何实现?
  5. 并发编程-26 高并发处理手段之服务降级与服务熔断 + 数据库切库分库分表
  6. puppet enc mysql_精通Puppet配置管理工具
  7. PostgreSQL查询计划剖析
  8. LNMP源码安装教程
  9. C++ Primer 第五版读书笔记
  10. c语言dll导出函数举例,DLL中导出函数的两种方式(dllexport与.def文件)
  11. 毛玻璃 / 玻璃拟态 处理 backdrop-filter 兼容性问题
  12. 送小情人一个深海之声蓝牙耳机,樱花粉简直美得没朋友
  13. java arraylist.add(),Java ArrayList add()方法与示例
  14. 获取客户端真实 IP
  15. 语音识别(ASR)--语音转文字
  16. Jsp程序设计-数据库练习题(二)
  17. 华为手机体验鸿蒙系统,再过40天,你就能在华为手机上,体验到鸿蒙系统了? - 区块网...
  18. Docute超简单的文档工具
  19. 重新开张,谢天谢地。
  20. PDF怎么编辑,如何去除PDF水印

热门文章

  1. Android实现边录音边播放
  2. 腾讯的企业级分布式 HTAP 数据库管理系统 TBase 正式开源
  3. eclipse配置折叠/展开代码设置
  4. 手持振弦采集仪对振弦传感器激励方法和激励电压
  5. matlab矩阵处理实验报告,MATLAB矩阵实验报告.doc
  6. 机器人 迷宫算法_机器人,迷宫和附属建筑
  7. 23个海外求职找各种工作的招聘网站
  8. Scrum中的软件测试指南
  9. OpenFeign实现微服务间的文件下载
  10. 解析MATLAB短时傅里叶变换函数spectrogram()