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

本文详细介绍了在Android中实现闪屏效果及过渡动画的方法,包括使用overridePendingTransition()函数进行不同效果的动画切换,并提供了动画代码示例。

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

  Java代码

  1. @Override

  2. public void onCreate(Bundle savedInstanceState) {

  3. super.onCreate(savedInstanceState);

  4.

  5. setContentView(R.layout.SplashScreen);

  6.

  7. new Handler().postDelayed(new Runnable() {

  8. @Override

  9. public void run() {

  10. Intent mainIntent = new Intent(SplashScreen.this, AndroidNews.class);

  11. SplashScreen.this.startActivity(mainIntent);

  12. SplashScreen.this.finish();

  13.

  14. overridePendingTransition(R.anim.mainfadein,

  15. R.anim.splashfadeout);

  16. }

  17. }, 3000);

  18. }

  @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);

  }

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

  Java代码

  1. getWindow ().setWindowAnimations ( int );

  getWindow ().setWindowAnimations ( int );

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

  实现淡入淡出的效果

  Java代码

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

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

  由左向右滑入的效果

  Java代码

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

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

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

  Java代码

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

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

  新建animzoomin.xml文件

  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>

  < ?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>

  新建animzoomout.xml文件

  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>

转载于:https://my.oschina.net/microoh/blog/143420

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值