天天看點

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

一、流程說明

    點選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 動畫效果"。

繼續閱讀