Activity的切换动画指的是从一个activity跳转到另外一个activity时的动画。
{它包括两个部分:
一部分是第一个activity退出时的动画;
另外一部分时第二个activity进入时的动画;
在Android的2.0版本之后,有了一个函数来帮我们实现这个动画。这个函数就是YoverridePendingTransition
j这个函数有两个参数,一个参数是第一个activity退出时的动画,另外一个参数则是第二个activity进入时的动画。
这里需要特别说明的是,关于overridePendingTransition这个函数,有两点需要主意
1.它必需紧挨着startActivity()或者finish()函数之后调用"
2.它只在android2.0以及以上版本上适用
overridePendingTransition(R.anim.in_from_right, R.anim.out_to_left);
但是我真机测试,android4.1 能够实现动画,2.2版本动画没有执行
在android2.0中已经可以很简单的实现Activity 之间的动画切换效果。在startActivity 后调用 overridePendingTransition(int enterAnim,int exitAnim),就可以实现Activity之间的动画,
其中enterAnim 是下一个Activity的enter动画效果,exitAnim 是当前Actitvity退出的动画效果
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.SplashScreen);
- new Handler().postDelayed(new Runnable() {
- @Override
- public void run() {
- Intent mainIntent = new Intent(SplashScreen.this, AndroidNews.class);
- SplashScreen.this.startActivity(mainIntent);
- SplashScreen.this.finish();
- overridePendingTransition(R.anim.mainfadein,
- R.anim.splashfadeout);
- }
- }, 3000);
- }
- getWindow (). setWindowAnimations ( int );
- 这可没有上个好但是也可以。
实现淡入淡出的效果
- overridePendingTransition(Android.R.anim.fade_in,android.R.anim.fade_out);
由左向右滑入的效果
- overridePendingTransition(Android.R.anim.slide_in_left,android.R.anim.slide_out_right);
实现zoomin和zoomout,即类似iphone的进入和退出时的效果
- overridePendingTransition(R.anim.zoomin, R.anim.zoomout);
新建zoomin.xml文件
- <?xml version="1.0" encoding="utf-8"?>
- <set xmlns:Android="http://schemas.android.com/apk/res/android"
- Android:interpolator="@android:anim/decelerate_interpolator">
- <scale Android:fromXScale="2.0" android:toXScale="1.0"
- Android:fromYScale="2.0" android:toYScale="1.0"
- Android:pivotX="50%p" android:pivotY="50%p"
- Android:duration="@android:integer/config_mediumAnimTime" />
- </set>
新建zoomout.xml文件
- <?xml version="1.0" encoding="utf-8"?>
- <set xmlns:Android="http://schemas.android.com/apk/res/android"
- Android:interpolator="@android:anim/decelerate_interpolator"
- Android:zAdjustment="top">
- <scale Android:fromXScale="1.0" android:toXScale=".5"
- Android:fromYScale="1.0" android:toYScale=".5"
- Android:pivotX="50%p" android:pivotY="50%p"
- Android:duration="@android:integer/config_mediumAnimTime" />
- <alpha Android:fromAlpha="1.0" android:toAlpha="0"
- Android:duration="@android:integer/config_mediumAnimTime"/>
- </set>