【开源】ParallaxPagerTransformer
ParallaxPagerTransformer
- https://github.com/xgc1986/ParallaxPagerTransformer
介绍:
使用viewpager的PageTransformer实现的视差效果,代码非常简单。项目中有apk文件可以直接运行看效果运行效果:
![]()
使用说明:
实现的原理,因为代码非常简单我就直接把该库的library代码copy出来了:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
package com.xgc1986.parallaxPagerTransformer;import android.support.v4.view.ViewPager;import android.view.View;public class ParallaxPagerTransformer implements ViewPager.PageTransformer { private int id; private int border = 0; private float speed = 0.2f; public ParallaxPagerTransformer(int id) { this.id = id; } @Override public void transformPage(View view, float position) { View parallaxView = view.findViewById(id); if (parallaxView != null) { if (position > -1 && position < 1) { float width = parallaxView.getWidth(); parallaxView.setTranslationX(-(position * width * speed)); float sc = ((float)view.getWidth() - border)/ view.getWidth(); if (position == 0) { view.setScaleX(1); view.setScaleY(1); } else { view.setScaleX(sc); view.setScaleY(sc); } } } } public void setBorder(int px) { border = px; } public void setSpeed(float speed) { this.speed = speed; }} |
posted on 2015-04-10 09:44 wasdchenhao 阅读(255) 评论(0) 收藏 举报

浙公网安备 33010602011771号