0001-App-Activity-Animation

来源:互联网 发布:电脑装机配置软件 编辑:程序博客网 时间:2024/06/14 06:14

Activity之间的切换效果的实现,从Android2.0开始在Activity增加了一个方法:

public void overridePendingTransition (int enterAnim, int exitAnim)

enterAnim 定义Activity进入屏幕时的动画

exitAnim 定义Activity退出屏幕时的动画

在APP-Activity-Animation 介绍了两种效果 fade-in(淡入效果)、zoom-in(缩小效果),在这里还介绍左右滑动进入的效果:


fade-in效果:

enterAnim

<alpha xmlns:android="http://schemas.android.com/apk/res/android"
       android:interpolator="@android:anim/accelerate_interpolator"
       android:fromAlpha="0.0" android:toAlpha="1.0"
       android:duration="@android:integer/config_longAnimTime" />

exitAnim

<translate xmlns:android="http://schemas.android.com/apk/res/android"
       android:interpolator="@android:anim/accelerate_interpolator"
       android:fromXDelta="0" android:toXDelta="0"
       android:duration="@android:integer/config_longAnimTime" />

备注:@android:anim/accelerate_interpolator表示加速显示就是动画越来越快

zoom-in效果:

enterAnim

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

exitAnim

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

备注: @android:anim/decelerate_interpolator表示减速显示动画越来越慢

         android:zAdjustment="top"可以穿的参数有top,normal,bottom

         android对此的解释是 

         Allows for an adjustment of the Z ordering of the content being animated for the duration of the animation

        我理解是动画在Z轴上的显示层次,如果为top则此动画在最上层覆盖在起他的动画上。

左进左出效果:

enterAnim

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:fromXDelta="100%p" android:toXDelta="0"
        android:duration="500" />
    <alpha android:fromAlpha="1.0" android:toAlpha="1.0"
        android:duration="500" />
</set>

exitAnim

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:fromXDelta="0" android:toXDelta="-100%p"
        android:duration="500" />
    <alpha android:fromAlpha="1.0" android:toAlpha="1.0"
        android:duration="500" />
</set>


右进右出 的效果:

enterAnim

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:fromXDelta="-100%p" android:toXDelta="0"
        android:duration="500" />
    <alpha android:fromAlpha="1.0" android:toAlpha="1.0"
        android:duration="500" />
</set>

exitAnim

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:fromXDelta="0" android:toXDelta="100%p"
        android:duration="500" />
    <alpha android:fromAlpha="1.0" android:toAlpha="1.0"
        android:duration="500" />
</set>





0 0