DevStore首页 > DEV资源 > 源码下载 > 源码详情

3D视差引导页

 
冰点 | 2015-09-08 10:02    浏览量(3894)    评论(4)    收藏(21)
功能分类:工具 支持平台:Android 运行环境:Eclipse
开发语言:Java 开发工具:Eclipse 源码大小:4.15MB
下载源码 518 人下载

源码简介

3D视差引导页,ViewPager滑动时子控件平移,缩放,3D翻转

源码截图

  • 运行截图
  • 运行截图
  • 运行截图
  • 运行截图
DevStore所有源码来自用户上传分享,版权问题及牵扯到商业纠纷均与DevStore无关。

源码片段

/**
	 * 当我们的ViewPager滑动的时候,每一个页面都会回调该方法
	 * position:当前第几个页面
	 * view:某个页面对应的视图 --- 布局的视图
	 */
	@Override
	public void transformPage(View view, float position) {
		// 渐变效果,判断区间(-1,1)
		if (position<1 && position >-1) {
			// 视差加速效果,让里面的所有子空间都给一个加速偏移量
			ViewGroup rl=(ViewGroup) view.findViewById(R.id.rl);
//			for (int i = 0; i < rl.getChildCount(); i++) {
//				View child=rl.getChildAt(i);
//				float factoe=(float) (Math.random()*2);
//				if (child.getTag() == null) {
//					child.setTag(factoe);
//				}else{
//					factoe=(Float) child.getTag();
//				}
//				// 加速偏移量(在child原来的位置再加一个偏移值)
//				child.setTranslationX(-position*200*factoe);
//				child.setTranslationY(position*100*factoe);
//			}
			// 缩放效果
			// 缩放的范围:0-1
			rl.setScaleX(Math.max(0.8f,1-Math.abs(position)));
			rl.setScaleY(Math.max(0.8f,1-Math.abs(position)));
			
			// 3D翻转动画 往外翻转
//			rl.setPivotX(position<0f?rl.getWidth():0f);
//			rl.setPivotY(rl.getHeight()*0.5f);
//			rl.setRotationY(position*90);
			
			// 3D翻转动画 往内翻转
//			rl.setPivotX(position<0f?rl.getWidth():0f);
//			rl.setPivotY(rl.getHeight()*0.5f);
//			rl.setRotationY(-position*90);
			
			// 羊肉串效果
			rl.setPivotX(rl.getHeight()*0.5f);
			rl.setPivotY(rl.getHeight()*0.5f);
			rl.setRotationY(-position*90);
		}
	}
  •   赞(1) 赞 +1 赞(1) 已赞
  •   收藏(21) 收藏 +1 已收藏 取消
  •   下载(518)
评论(4)
王者清风

王者清风 2017-01-12 18:03:10

真是不错,谢谢楼主!
回复(0) 赞(0) 赞(1)
小菜一枚

小菜一枚 2015-11-18 16:48:34

运行报错是怎么回事
回复(0) 赞(0) 赞(1)
差不多先生

差不多先生 2015-11-06 20:04:14

不错,准备加入app中
回复(0) 赞(0) 赞(1)
Jin_ken

Jin_ken 2015-10-01 08:11:40

正好正在做引导,学习一下。
回复(0) 赞(0) 赞(1)
  • 推荐
  • 审核
  • 收录
  • 获取活力值

源码上传作者

  • 20 能力值
  • 11 源码
  • 0 评测
  • 0 资料

热门源码