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参考文档。
?