天天看點

[Android1.5]Android2.0版本以下Activity切換動畫效果

前言

  在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

[Android1.5]Android2.0版本以下Activity切換動畫效果

    /**

     * 登入

     */

    @override

    public void onclick(view view) {

        startactivity(getintent().setclass(this, activity2.class));

    }

[Android1.5]Android2.0版本以下Activity切換動畫效果

    activity2.java

[Android1.5]Android2.0版本以下Activity切換動畫效果

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

[Android1.5]Android2.0版本以下Activity切換動畫效果

    test2.xml

[Android1.5]Android2.0版本以下Activity切換動畫效果

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

[Android1.5]Android2.0版本以下Activity切換動畫效果

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

[Android1.5]Android2.0版本以下Activity切換動畫效果

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

[Android1.5]Android2.0版本以下Activity切換動畫效果

      代碼說明:

        a)  注意代碼activity2.java加粗标紅的兩行代碼,是本文的核心。

        b)  r.id.body為頂層容器的id

        c)  關于縮放的xml檔案大家可以搜尋一下,有相關的中文資料,搜尋關鍵字:"android 動畫效果"。

結束

   由圖檔的動畫效果聯想到view的動畫效果再聯想到用頂層view做動畫效果,效果還不錯,仍然在低版本奮鬥的朋友有福了:)

轉載:http://www.cnblogs.com/over140/archive/2010/11/02/1867003.html

繼續閱讀