切換 Activity 的簡單轉場動畫(overridePendingTransition)


在這篇中有提到 ViewAnimator 的用法,其作用在比較複雜的動畫上,如果只是想達到 Activity 之間簡單的轉場的話可以使用

overridePendingTransition(activity_enter, activity_exit);

這個方法,它是 Activity 的方法,作用在 startActivity() 或 finish() 之後,第1個參數為下1個Activity進入的動畫,第2個參數為上1個Activity離開的動畫,必須注意參數只接受在 xml 中定義好的動畫,如何定義1個簡單的動畫呢,如下

   1:  <?xml version="1.0" encoding="utf-8"?>
   2:  <alpha xmlns:android="http://schemas.android.com/apk/res/android"
   3:         android:fromAlpha="0.0" android:toAlpha="1.0"
   4:         android:duration="300" />

就是簡單的淡入動畫,裡面定義改變的alpha值,動畫時間,最後在放入方法中即可,以我的Logo流程切換為例如下

   1:                  LogoFlow.this.finish(); // close activity
   2:                  sleeping = true;// stop Thread
   3:                  Intent goAct = new Intent();// new a Intent
   4:                  goAct.setClass(LogoFlow.this, CopyRightFlow.class); // set another activity
   5:                  startActivity(goAct); // start another Activity
   6:                  
   7:                  overridePendingTransition(R.anim.fadeout, R.anim.zoom_exit);//使用過場,第1個參數是下1個場景的進入,第2個參數是本身場景的離開
   8:                  
   9:                  System.exit(0);// stop program


第7行就是使用 overridePendingTransition 方法,動畫還有不少組合可以使用如下

   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>

這是使用set標籤組合2個不同的動畫(縮小和淡出)

0 意見:

張貼留言

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Affiliate Network Reviews