Android页面切换动画学习

知识详解http://www.htcplayer.com/thread-2852-1-1.html

http://www.ibm.com/developerworks/cn/opensource/os-cn-android-anmt1/index.html

页面切换是指从一个Activity跳转到另一个Activity

可以用overridePendingTransition这个函数来实现

overridePendingTransition函数有两个参数:第一个是activity退出时的动画,第二个是activity进入时的动画

使用时注意:

1.该函数只能在startActivity()或finish()之后调用。

2. 它只适用于android 2.0及以上版本

overridePendingTransition(R.anim.fade, R.anim.hold);//fade是退出时,hold是进入时

1. 淡入淡出效果

fade.xml

1 <alpha xmlns:android="http://schemas.android.com/apk/res/android"
2     android:duration="2000"
3     android:fromAlpha="0.0"
4     android:interpolator="@android:anim/accelerate_interpolator"
5     android:toAlpha="1.0" />

hold.xml

1 <translate xmlns:android="http://schemas.android.com/apk/res/android"
2     android:duration="2000"
3     android:fromXDelta="0"
4     android:interpolator="@android:anim/accelerate_interpolator"
5     android:toXDelta="0" />

2. 放大淡出效果

my_scale_action

 1 <set xmlns:android="http://schemas.android.com/apk/res/android" >
 2 
 3     <scale
 4         android:duration="2000"
 5         android:fillAfter="false"
 6         android:fromXScale="0.0"
 7         android:fromYScale="0.0"
 8         android:interpolator="@android:anim/accelerate_decelerate_interpolator"
 9         android:pivotX="50%"
10         android:pivotY="50%"
11         android:toXScale="1.4"
12         android:toYScale="1.4" />
13 
14 </set>

my_alpha_action

 1 <set xmlns:android="http://schemas.android.com/apk/res/android" >
 2 
 3     <alpha
 4         android:duration="2000"
 5         android:fromAlpha="1.0"
 6         android:toAlpha="0" />
 7     <!--
 8      透明度控制动画效果 alpha
 9         浮点型值:
10         fromAlpha 属性为动画起始时透明度
11         toAlpha   属性为动画结束时透明度
12         说明: 
13         0.0表示完全透明
14         1.0表示完全不透明
15                      以上值取0.0-1.0之间的float数据类型的数字
16         
17         长整型值:
18         duration  属性为动画持续时间
19         说明:     
20                      时间以毫秒为单位
21     -->
22 
23 </set>

3. 转动淡出效果1

scale_rotate

 1 <set xmlns:android="http://schemas.android.com/apk/res/android"
 2     android:shareInterpolator="false" >
 3 
 4     <scale
 5         android:duration="2000"
 6         android:fromXScale="0.0"
 7         android:fromYScale="0.0"
 8         android:interpolator="@android:res/anim/accelerate_decelerate_interpolator"
 9         android:pivotX="50%"
10         android:pivotY="50%"
11         android:repeatCount="0"
12         android:startOffset="20"
13         android:toXScale="1.0"
14         android:toYScale="1.0" >
15     </scale>
16 
17     <rotate
18         android:duration="2000"
19         android:fromDegrees="0"
20         android:interpolator="@android:anim/accelerate_decelerate_interpolator"
21         android:pivotX="50%"
22         android:pivotY="50%"
23         android:toDegrees="+355" />
24 
25 </set>

my_alpha_action

4. 转动淡出效果2

scale_translate_rotate

 1 <set xmlns:android="http://schemas.android.com/apk/res/android"
 2     android:shareInterpolator="false" >
 3 
 4     <scale
 5         android:duration="2000"
 6         android:fromXScale="0.0"
 7         android:fromYScale="0.0"
 8         android:interpolator="@android:res/anim/accelerate_decelerate_interpolator"
 9         android:pivotX="50%"
10         android:pivotY="50%"
11         android:toXScale="1.0"
12         android:toYScale="1.0" >
13     </scale>
14 
15     <translate
16         android:duration="2000"
17         android:fromXDelta="120"
18         android:fromYDelta="30"
19         android:interpolator="@android:anim/accelerate_decelerate_interpolator"
20         android:toXDelta="30"
21         android:toYDelta="250" />
22 
23     <rotate
24         android:duration="2000"
25         android:fromDegrees="0"
26         android:interpolator="@android:anim/accelerate_decelerate_interpolator"
27         android:pivotX="50%"
28         android:pivotY="50%"
29         android:toDegrees="+355" />
30 
31 </set>

my_alpha_action

5. 左上角展开淡出效果

scale_translate

 1 <set xmlns:android="http://schemas.android.com/apk/res/android"
 2     android:shareInterpolator="false" >
 3 
 4     <scale
 5         android:duration="2000"
 6         android:fromXScale="0.0"
 7         android:fromYScale="0.0"
 8         android:interpolator="@android:res/anim/accelerate_decelerate_interpolator"
 9         android:pivotX="0"
10         android:pivotY="0"
11         android:repeatCount="0"
12         android:startOffset="0"
13         android:toXScale="1.0"
14         android:toYScale="1.0" >
15     </scale>
16 
17     <translate
18         android:duration="2000"
19         android:fromXDelta="0"
20         android:fromYDelta="0"
21         android:toXDelta="0"
22         android:toYDelta="0" />
23 
24 </set>

my_alpha_action

6. 压缩变小淡出效果

hyperspace_in

1 <alpha xmlns:android="http://schemas.android.com/apk/res/android"
2     android:duration="2000"
3     android:fromAlpha="0.0"
4     android:startOffset="1200"
5     android:toAlpha="1.0" />

hyperspace_out

 1 <set xmlns:android="http://schemas.android.com/apk/res/android"
 2     android:shareInterpolator="false" >
 3 
 4     <scale
 5         android:duration="2000"
 6         android:fillAfter="false"
 7         android:fromXScale="1.0"
 8         android:fromYScale="1.0"
 9         android:interpolator="@android:anim/accelerate_decelerate_interpolator"
10         android:pivotX="50%"
11         android:pivotY="50%"
12         android:toXScale="1.4"
13         android:toYScale="0.6" />
14 
15     <set
16         android:interpolator="@android:anim/accelerate_interpolator"
17         android:startOffset="700" >
18         <scale
19             android:duration="2000"
20             android:fromXScale="1.4"
21             android:fromYScale="0.6"
22             android:pivotX="50%"
23             android:pivotY="50%"
24             android:toXScale="0.0"
25             android:toYScale="0.0" />
26 
27         <rotate
28             android:duration="2000"
29             android:fromDegrees="0"
30             android:pivotX="50%"
31             android:pivotY="50%"
32             android:toDegrees="-45"
33             android:toYScale="0.0" />
34     </set>

7. 右往左推出效果

push_left_in

1 <set xmlns:android="http://schemas.android.com/apk/res/android" >
2 
3     <translate
4         android:duration="2000"
5         android:fromXDelta="100%p"
6         android:toXDelta="0" />
7 
8 </set>

push_left_out

1 <set xmlns:android="http://schemas.android.com/apk/res/android" >
2 
3     <translate
4         android:duration="2000"
5         android:fromXDelta="0"
6         android:toXDelta="-100%p" />
7 
8 </set>

8. 下往上推出效果

push_up_in

 1 <set xmlns:android="http://schemas.android.com/apk/res/android" >
 2 
 3     <translate
 4         android:duration="2000"
 5         android:fromYDelta="100%p"
 6         android:toYDelta="0" />
 7 
 8     <alpha
 9         android:duration="2000"
10         android:fromAlpha="0.0"
11         android:toAlpha="1.0" />
12 
13 </set>

push_up_out

 1 <set xmlns:android="http://schemas.android.com/apk/res/android" >
 2 
 3     <translate
 4         android:duration="2000"
 5         android:fromYDelta="0"
 6         android:toYDelta="-100%p" />
 7 
 8     <alpha
 9         android:duration="2000"
10         android:fromAlpha="1.0"
11         android:toAlpha="0.0" />
12 
13 </set>

9. 左右交错效果

slide_left

1 <set xmlns:android="http://schemas.android.com/apk/res/android"
2     android:interpolator="@android:anim/accelerate_interpolator" >
3 
4     <translate
5         android:duration="2000"
6         android:fromXDelta="100%p"
7         android:toXDelta="0" />
8 
9 </set>

slide_right

1 <set xmlns:android="http://schemas.android.com/apk/res/android"
2     android:interpolator="@android:anim/accelerate_interpolator" >
3 
4     <translate
5         android:duration="2000"
6         android:fromXDelta="-100%p"
7         android:toXDelta="0" />
8 
9 </set>

10. 放大淡出效果

wave_scale

 1 <set xmlns:android="http://schemas.android.com/apk/res/android"
 2     android:interpolator="@android:anim/accelerate_interpolator" >
 3 
 4     <alpha
 5         android:duration="2000"
 6         android:fromAlpha="0.0"
 7         android:toAlpha="1.0" />
 8 
 9     <scale
10         android:duration="2000"
11         android:fromXScale="0.5"
12         android:fromYScale="0.5"
13         android:pivotX="50%"
14         android:pivotY="50%"
15         android:toXScale="1.5"
16         android:toYScale="1.5" />
17     <scale
18         android:duration="2000"
19         android:fromXScale="1.5"
20         android:fromYScale="1.5"
21         android:pivotX="50%"
22         android:pivotY="50%"
23         android:startOffset="200"
24         android:toXScale="1.0"
25         android:toYScale="1.0" />
26 
27 </set>

my_alpha_action

11.缩小效果

zoom_enter

 1 <set xmlns:android="http://schemas.android.com/apk/res/android"
 2     android:interpolator="@android:anim/decelerate_interpolator" >
 3 
 4     <alpha
 5         android:duration="2000"
 6         android:fromAlpha="0"
 7         android:toAlpha="1.0" />
 8 
 9     <scale
10         android:duration="2000"
11         android:fromXScale="2.0"
12         android:fromYScale="2.0"
13         android:pivotX="50%p"
14         android:pivotY="50%p"
15         android:toXScale="1.0"
16         android:toYScale="1.0" />
17 
18 </set>

zoom_exit

 1 <set xmlns:android="http://schemas.android.com/apk/res/android"
 2     android:interpolator="@android:anim/decelerate_interpolator"
 3     android:zAdjustment="top" >
 4 
 5     <scale
 6         android:duration="2000"
 7         android:fromXScale="1.0"
 8         android:fromYScale="1.0"
 9         android:pivotX="0"
10         android:pivotY="0"
11         android:toXScale="0"
12         android:toYScale="0" />
13 
14     <alpha
15         android:duration="2000"
16         android:fromAlpha="1.0"
17         android:toAlpha="0" />
18 
19 </set>

12. 上下交错效果

slide_up_in

1 <set xmlns:android="http://schemas.android.com/apk/res/android"
2     android:interpolator="@android:anim/decelerate_interpolator" >
3 
4     <translate
5         android:duration="2000"
6         android:fromYDelta="100.0%p"
7         android:toYDelta="0.0" />
8 
9 </set>

slide_down_out

1 <set xmlns:android="http://schemas.android.com/apk/res/android"
2     android:interpolator="@android:anim/accelerate_interpolator" >
3 
4     <translate
5         android:duration="2000"
6         android:fromYDelta="0.0"
7         android:toYDelta="100.0%p" />
8 
9 </set>

ActivityAnimation.zip

posted @ 2012-10-31 16:13  时光独白  阅读(353)  评论(0编辑  收藏  举报