• Activity 切换动画


    1,在AndroidManifest.xml中的Activity的声明上加入android:theme="@style/Anim_fade"

    1.    <activity android:name=".AppActivity" android:theme="@style/Anim_fade" >  
    2.         </activity> 

    2,在values文件夹下的styles.xml中的resources标签内写

    <style name="Anim_fade" parent="android:Theme.NoTitleBar">
    <item name="android:windowAnimationStyle">@style/fade</item>
    </style>

    <style name="fade" parent="@android:style/Animation.Activity">
    <item name="android:activityOpenEnterAnimation">@anim/alpha_in</item>
    <item name="android:activityOpenExitAnimation">@anim/alpha_out</item>
    <item name="android:activityCloseEnterAnimation">@anim/alpha_in</item>
    <item name="android:activityCloseExitAnimation">@anim/alpha_out</item>
    </style>

    注意需要继承自 @android:style/Animation.Activity。具体这4个属性什么意思呢?假设我们有 2 个 Activity,分别是 A1 和 A2:

    • 当我们从 A1 启动 A2 时,A1 从屏幕上消失,这个动画叫做 android:activityOpenExitAnimation
    • 当我们从 A1 启动 A2 时,A2 出现在屏幕上,这个动画叫做 android:activityOpenEnterAnimation
    • 当我们从 A2 退出回到 A1 时,A2 从屏幕上消失,这个叫做 android:activityCloseExitAnimation
    • 当我们从 A2 退出回到 A1 时,A1 出现在屏幕上,这个叫做 android:activityCloseEnterAnimation

    3,在res文件夹下建立anim文件夹,然后在里面建立fade_in.xml和fade_out.xml两个动画资源

    Android动画效果translate、scale、alpha、rotate详解
    1)alpha xml 淡出效果
    1. <?xml version="1.0" encoding="utf-8"?>
    2. <set xmlns:android="http://schemas.android.com/apk/res/android">
    3. <alpha
    4. android:fromAlpha="1.0"
    5. android:toAlpha="0.0"
    6. android:duration="500" />
    7. </set>
    8. <!--
    9. fromAlpha:开始时透明度
    10. toAlpha: 结束时透明度
    11. duration:动画持续时间 -->

    (2)alpha xml 淡入效果

    1. <?xml version="1.0" encoding="utf-8"?>
    2. <set xmlns:android="http://schemas.android.com/apk/res/android">
    3. <alpha
    4. android:fromAlpha="0.0"
    5. android:toAlpha="1.0"
    6. android:duration="500" />
    7. </set>
    8. <!--
    9. fromAlpha:开始时透明度
    10. toAlpha: 结束时透明度
    11. duration:动画持续时间 -->

    (3)rotate.xml 旋转效果:

    1. <?xmlversion="1.0"encoding="utf-8"?>
    2. <setxmlns:android="http://schemas.android.com/apk/res/android">
    3. <rotate
    4. android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    5. android:fromDegrees="300"
    6. android:toDegrees="-360"
    7. android:pivotX="10%"
    8. android:pivotY="100%"
    9. android:duration="10000"/>
    10. </set>
    11. <!--
    12. fromDegrees 动画开始时的角度
    13. toDegrees 动画结束时物件的旋转角度,正代表顺时针
    14. pivotX 属性为动画相对于物件的X坐标的开始位置
    15. pivotY 属性为动画相对于物件的Y坐标的开始位置 -->

    (4)scale.xml 缩放效果:

    1. <?xml version="1.0" encoding="utf-8"?>
    2. <set xmlns:android="http://schemas.android.com/apk/res/android">
    3. <scale
    4. android:interpolator= "@android:anim/decelerate_interpolator"
    5. android:fromXScale="0.0"
    6. android:toXScale="1.5"
    7. android:fromYScale="0.0"
    8. android:toYScale="1.5"
    9. android:pivotX="50%"
    10. android:pivotY="50%"
    11. android:startOffset="0"
    12. android:duration="10000"
    13. android:repeatCount="1"
    14. android:repeatMode="reverse" />
    15. </set>
    16. <!--
    17. fromXDelta,fromYDelta 起始时X,Y座标,屏幕右下角的座标是X:320,Y:480
    18. toXDelta, toYDelta 动画结束时X,Y的座标 --> <!--
    19. interpolator 指定动画插入器
    20. 常见的有加速减速插入器 accelerate_decelerate_interpolator
    21. 加速插入器 accelerate_interpolator,
    22. 减速插入器 decelerate_interpolator。
    23. fromXScale,fromYScale, 动画开始前X,Y的缩放,0.0为不显示, 1.0为正常大小
    24. toXScale,toYScale, 动画最终缩放的倍数, 1.0为正常大小,大于1.0放大
    25. pivotX, pivotY 动画起始位置,相对于屏幕的百分比,两个都为50%表示动画从屏幕中间开始
    26. startOffset, 动画多次执行的间隔时间,如果只执行一次,执行前会暂停这段时间,
    27. 单位毫秒 duration,一次动画效果消耗的时间,单位毫秒,
    28. 值越小动画速度越快 repeatCount,动画重复的计数,动画将会执行该值+1次
    29. repeatMode,动画重复的模式,reverse为反向,当第偶次执行时,动画方向会相反。
    30. restart为重新执行,方向不变 -->

    ()translate.xml 移动效果:

    1. <?xmlversion="1.0"encoding="utf-8"?>
    2. <setxmlns:android="http://schemas.android.com/apk/res/android">
    3. <translate
    4. android:fromXDelta="320"
    5. android:toXDelta="0"
    6. android:fromYDelta="480"
    7. android:toYDelta="0"
    8. android:duration="10000"/>
    9. </set>
    10. <!--
    11. fromXDelta,fromYDelta 起始时X,Y座标,屏幕右下角的座标是X:320,Y:480
    12. toXDelta, toYDelta 动画结束时X,Y的座标 -->
     
  • 相关阅读:
    哈希算法是怎么实现的
    高并发下日志组件的各种实现方式
    算法是如何影响程序编码方式的
    <<.NET B/S 架构实践>> 几种概念区别
    如何扩大系统盘空间
    区别:ASP.NET MVC的Model、DTO、Command
    能递归检查DataAnnotations的验证函数
    NuGet的本地服务器安装与Package的发布(呕吐)
    多模块分布式系统的简单服务访问
    多模块后带来的问题解决方法
  • 原文地址:https://www.cnblogs.com/manmanlu/p/4335246.html
Copyright © 2020-2023  润新知