Android Activity界面切换添加动画特效

时间:2023-01-07 14:35:44

在Android 2.0之后有了overridePendingTransition() ,其中里面两个参数,一个是前一个activity的退出两一个activity的进入,

  1. @Override
  2. public void onCreate(Bundle savedInstanceState) {
  3. super.onCreate(savedInstanceState);
  4. setContentView(R.layout.SplashScreen);
  5. new Handler().postDelayed(new Runnable() {
  6. @Override
  7. public void run() {
  8. Intent mainIntent = new Intent(SplashScreen.this,     AndroidNews.class);
  9. SplashScreen.this.startActivity(mainIntent);
  10. SplashScreen.this.finish();
  11. overridePendingTransition(R.anim.mainfadein,
  12. R.anim.splashfadeout);
  13. }
  14. }, 3000);
  15. }

上面的代码只是闪屏的一部分。

  1. getWindow (). setWindowAnimations ( int );

这可没有上个好但是也可以 。

实现淡入淡出的效果

  1. overridePendingTransition(Android.R.anim.fade_in,android.R.anim.fade_out);

由左向右滑入的效果

  1. overridePendingTransition(Android.R.anim.slide_in_left,android.R.anim.slide_out_right);

实现zoomin和zoomout,即类似iphone的进入和退出时的效果

  1. overridePendingTransition(R.anim.zoomin, R.anim.zoomout);

新建zoomin.xml文件

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <set xmlns:Android="http://schemas.android.com/apk/res/android"
  3. Android:interpolator="@android:anim/decelerate_interpolator">
  4. <scale Android:fromXScale="2.0" android:toXScale="1.0"
  5. Android:fromYScale="2.0" android:toYScale="1.0"
  6. Android:pivotX="50%p" android:pivotY="50%p"
  7. Android:duration="@android:integer/config_mediumAnimTime" />
  8. </set>

新建zoomout.xml文件

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <set xmlns:Android="http://schemas.android.com/apk/res/android"
  3. Android:interpolator="@android:anim/decelerate_interpolator"
  4. Android:zAdjustment="top">
  5. <scale Android:fromXScale="1.0" android:toXScale=".5"
  6. Android:fromYScale="1.0" android:toYScale=".5"
  7. Android:pivotX="50%p" android:pivotY="50%p"
  8. Android:duration="@android:integer/config_mediumAnimTime" />
  9. <alpha Android:fromAlpha="1.0" android:toAlpha="0"
  10. Android:duration="@android:integer/config_mediumAnimTime"/>
  11. </set>