android動畫效果處理

Android的動畫效果分爲兩種,一種是tweened animation(補間動畫),第二種是frame by frame animation。一般我們用的是第一種。補間動畫又分爲AlphaAnimation,透明度轉換 RotateAnimation,旋轉轉換 ScaleAnimation,縮放轉換 TranslateAnimation 位置轉換。

在Android 2.0之後有了overridePendingTransition() ,其中裏面兩個參數,一個是前一個activity的退出效果,另一個activity的進入效果

android自帶效果:

                    Intent intent = new Intent(indexContext,VoiceIdentifyActivity.class);
                    intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);//原始模板判斷
                    startActivity(intent);

1:overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);  //實現淡入淡出的效果
2:overridePendingTransition(android.R.anim.slide_out_right,android.R.anim.slide_in_left);  //由左向右滑入的效果

自定義動畫效果:

1:自定義的動畫效果XML文件,存放位置爲:res/anim/

2:新建zoomin.xml文件

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

3:新建zoomout.xml文件

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:Android="http://schemas.android.com/apk/res/android"
        Android:interpolator="@android:anim/decelerate_interpolator"
        Android:zAdjustment="top">
    <scale Android:fromXScale="1.0" android:toXScale=".5"
           Android:fromYScale="1.0" android:toYScale=".5"
           Android:pivotX="50%p" android:pivotY="50%p"
           Android:duration="@android:integer/config_mediumAnimTime" />
    <alpha Android:fromAlpha="1.0" android:toAlpha="0"
            Android:duration="@android:integer/config_mediumAnimTime"/>
</set>

4:調用效果顯示:

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


發佈了45 篇原創文章 · 獲贊 1 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章