Android overridePendingTransition() 的使用

来源:互联网 发布:淘宝怎么搜高仿耐克 编辑:程序博客网 时间:2024/04/29 09:01

我们平时在开发应用的时候,两个Activity的切换需要设置切换动画,Activity给我们提供了一个很简便的方法去实现这种效果:

Activity中的源码:public void overridePendingTransition(int enterAnim, int exitAnim) {        throw new RuntimeException("Stub!");    }

这里有两个参数:
enterAnim:进入的动画
exitAnim:退出的动画

注意:
1、必须在 StartActivity() 或 finish() 之后立即调用。
2、而且在 2.1 以上版本有效
3、手机设置-显示-动画,要开启状态

安卓自带的一些动画效果以及自定义动画效果:

//实现淡入浅出的效果startActivity(new Intent(StartActivity.this,MainActivity.class));overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);// 实现由左向右滑入的效果startActivity(new Intent(StartActivity.this,MainActivity.class));overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);// 实现zoommin 和 zoomout (自定义的动画)Intent intent = new Intent(StartActivity.this, MainActivity.class);        startActivity(intent);        overridePendingTransition(R.anim.screen_zoom_in, R.anim.screen_zoom_out);        finish();

screen_zoom_in.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"    android:interpolator="@android:anim/accelerate_interpolator">    <scale        android:duration="400"        android:fromAlpha="0.0"        android:fromXScale="1.4"        android:fromYScale="1.4"        android:pivotX="40%p"        android:pivotY="40%p"        android:toAlpha="1.0"        android:toXScale="1.0"        android:toYScale="1.0" /></set>

screen_zoom_out.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"    android:interpolator="@android:anim/accelerate_interpolator">    <scale        android:duration="400"        android:fromAlpha="0.0"        android:fromXScale="1.4"        android:fromYScale="1.4"        android:pivotX="40%p"        android:pivotY="40%p"        android:toAlpha="1.0"        android:toXScale="1.0"        android:toYScale="1.0" /></set>
0 0