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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章