1、Android中Activity的生命周期。
http://www.oschina.net/question/54100_27841
这是一个概念性的东西,在Android中Activity是最重要的类,每个Activity都会遵行它的生命周期,只要能理解下面的图片就可以了。

2、Activity之间的切换效果。
http://www.oschina.net/code/snippet_97118_7692Activity屏幕切换
http://www.oschina.net/question/97118_34523Activity屏幕切换原理
http://www.oschina.net/code/snippet_4873_4772各种Activity之间的切换效果
工程名:LeftRightSlide testAndroid
每一个Activity的切换效果都定义在一个xml文件中,在Java文件中定义Intent之后加上
overridePendingTransition(R.anim.in_from_right, R.anim.out_to_left);
第一个参数是下一个Activity进入的动画,第二个参数是这个Activity的退出动画。
Intent intent = new Intent();
intent.setClass(LeftRightSlideActivity.this, SlideSecondActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.in_from_right, R.anim.out_to_left);//这条语句一定要在startActivity之后
下面要定义动画的xml文件。Activity的切换动画实际上是Android的View Animation(视图动画)中的Tween Animation效果,Tween Animation分为4种动画效果,分别是:alpha (透明变化) translate(位置移动) scale(缩放) rotate(旋转)。<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromYDelta="0%p"
android:toYDelta="-100%p"
android:duration="1000">
</translate>
上面演示了位置移动的xml文件,其中android:interpolator定义了大体效果(更多的效果参见第二个网址),下面两个参数定义了进入位置和停止位置,最后一个参数定义了总的运行时间。一个动画可以定义多个<translate>,从而实现更多的动画,如下代码。
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<translate
android:duration="200"
android:fromXDelta="0%p"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:toXDelta="2%p" />
<translate
android:duration="1000"
android:fromXDelta="2%p"
android:interpolator="@android:anim/accelerate_interpolator"
android:startOffset="200"
android:toXDelta="-100%p" />
</set>
更多的参数参见Android参考文档。
本文介绍了Android中Activity的生命周期及其重要性,并详细讲解了如何通过XML文件定义Activity之间的切换动画效果,包括移动、透明度变化等。
4315

被折叠的 条评论
为什么被折叠?



