前言
在android 2.0版本以上做activity切換時的動畫效果是很容易的,可以調用overridependingtransition函數,一行代碼搞定,當然配置動畫效果的xml檔案是少不了的,但是在2.0版本以下是沒有這個函數的,如何友善的做動畫效果呢?有說用viewflipper或者getwindow().setwindowanimations,但是這裡都沒有成功,用了一個取巧的辦法,但是效果還不錯:)
聲明
歡迎轉載,但請保留文章原始出處:)
部落格園:http://www.cnblogs.com
農民伯伯: http://www.cnblogs.com/over140/
正文
一、流程說明
點選activity1中按鈕btnlogin切換到activity2,切換要求有縮放的動畫效果。
二、實作原理
在activity2加載時啟用頂層容器的動畫效果,注意頂層容器最好是整屏。
三、實作代碼
activity1.java

/**
* 登入
*/
@override
public void onclick(view view) {
startactivity(getintent().setclass(this, activity2.class));
}

activity2.java

public void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
setcontentview(r.layout.test2);
animation anim = animationutils.loadanimation(this,r.anim.my_scale_action);
findviewbyid(r.id.body).startanimation(anim);

test2.xml

<linearlayout android:id="@+id/body"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical" >
<textview android:layout_x="179dp" android:layout_y="78dp"
android:id="@+id/test"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:textcolor="#c5dde7" android:textstyle="bold">
</textview>
</linearlayout>

my_scale_action.xml 動畫效果的配置檔案

<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromxscale="0.0"
android:toxscale="1.0"
android:fromyscale="0.0"
android:toyscale="1.0"
android:pivotx="50%"
android:pivoty="50%"
android:fillafter="true"
android:duration="300" />
</set>

代碼說明:
a) 注意代碼activity2.java加粗标紅的兩行代碼,是本文的核心。
b) r.id.body為頂層容器的id
c) 關于縮放的xml檔案大家可以搜尋一下,有相關的中文資料,搜尋關鍵字:"android 動畫效果"。
結束
由圖檔的動畫效果聯想到view的動畫效果再聯想到用頂層view做動畫效果,效果還不錯,仍然在低版本奮鬥的朋友有福了:)
轉載:http://www.cnblogs.com/over140/archive/2010/11/02/1867003.html