温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

自定义Activity跳转动画

发布时间:2020-05-29 21:28:08 来源:网络 阅读:491 作者:失眠的考拉 栏目:移动开发

这里的跳转是指项目中所有Activity跳转都自定义,而不是针对某个Activity而言。


第一步:准备四个动画的xml文件:

①A->B时进入B的动画:

<?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:duration="@android:integer/config_mediumAnimTime"

        android:fromXScale="0.0"

        android:fromYScale="0.0"

        android:pivotX="69.99999%"

        android:pivotY="100.0%"

        android:toXScale="1.0"

        android:toYScale="1.0" />


    <alpha

        android:duration="@android:integer/config_mediumAnimTime"

        android:fromAlpha="0.0"

        android:toAlpha="1.0" />


</set>


②A->B时退出A的动画:

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android"

    android:interpolator="@android:anim/accelerate_interpolator" >


    <scale

        android:duration="@android:integer/config_mediumAnimTime"

        android:fromXScale="1.0"

        android:fromYScale="1.0"

        android:pivotX="69.99999%"

        android:pivotY="100.0%"

        android:toXScale="0.0"

        android:toYScale="0.0" />


    <alpha

        android:duration="@android:integer/config_mediumAnimTime"

        android:fromAlpha="1.0"

        android:toAlpha="0.0" />


</set>


③在B返回A时进入A的动画:

<?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:duration="@android:integer/config_mediumAnimTime"

        android:fromXScale="1.5"

        android:fromYScale="1.5"

        android:pivotX="50.0%"

        android:pivotY="50.0%"

        android:toXScale="1.0"

        android:toYScale="1.0" />


    <alpha

        android:duration="@android:integer/config_mediumAnimTime"

        android:fromAlpha="0.4"

        android:toAlpha="1.0" />


</set>


④在B返回A时退出B的动画:

<?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:duration="@android:integer/config_mediumAnimTime"

        android:fromXScale="1.0"

        android:fromYScale="1.0"

        android:pivotX="50.0%"

        android:pivotY="50.0%"

        android:toXScale="0.4"

        android:toYScale="0.4" />


    <alpha

        android:duration="@android:integer/config_mediumAnimTime"

        android:fromAlpha="1.0"

        android:toAlpha="0.0" />


</set>




第二步:在Style资源文件里申明:

<style name="ThemeActivity" mce_bogus="1" parent="@android:style/Theme.Light">

        <item name="android:windowAnimationStyle">@style/AnimationActivity</item>

        <item name="android:windowNoTitle">true</item>

    </style>


    <style name="AnimationActivity" mce_bogus="1" parent="@android:style/Animation.Activity">

        <item name="android:activityOpenEnterAnimation">@anim/anim_enter</item>

        <item name="android:activityOpenExitAnimation">@anim/anim_exit</item>

        <item name="android:activityCloseEnterAnimation">@anim/back_enter</item>

        <item name="android:activityCloseExitAnimation">@anim/back_exit</item>

    </style>

【注意!为兼容2.3版本,最好在默认资源和v14资源里都申明!】




第三步:在清单文件中application中修改theme:

android:theme="@style/ThemeActivity"



搞定!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI