美文网首页
Android开发记录-简单的Activity跳转动画,Frag

Android开发记录-简单的Activity跳转动画,Frag

作者: LH_1994 | 来源:发表于2019-08-16 21:10 被阅读0次

本篇主要记录Activity之间的跳转动画,和同个Activity下Fragment之间切换的动画,增加应用的体验度。附带动画代码(这里只写了xml文件,Java的相似可以自行查找code)。

先看下效果

旋转.gif 缩放.gif 翻转.gif

直接上代码

旋转效果

rotate_in
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

    <!--旋转-->
    <rotate
        android:duration="500"
        android:pivotX="50%"
        android:pivotY="50%"
        android:fromDegrees="0"
        android:toDegrees="180"/>

</set>
rotate_out
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    
    <!--旋转-->
    <rotate
        android:duration="500"
        android:pivotX="50%"
        android:pivotY="50%"
        android:fromDegrees="-180"
        android:toDegrees="0"/>
    
</set>

缩放效果

zoom_in
<?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="1000"
        android:fromXScale="0.1"
        android:fromYScale="0.1"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toXScale="1.0"
        android:toYScale="1.0" />
    <!--透明度-->
    <alpha
        android:duration="1000"
        android:fromAlpha="0"
        android:toAlpha="1.0" />
</set>
zoom_out
<?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:duration="1000"
        android:fromXScale="1.0"
        android:fromYScale="1.0"
        android:pivotX="50%p"
        android:pivotY="50%p"
        android:toXScale="0.1"
        android:toYScale="0.1" />
    <!--透明度-->
    <alpha
        android:duration="1000"
        android:fromAlpha="1.0"
        android:toAlpha="0" />
</set>

翻转效果

rotate3_in
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <!--旋转-->
    <objectAnimator
        android:duration="600"
        android:propertyName="rotationY"
        android:valueFrom="-180"
        android:valueTo="0"/>
    <!--出现-->
    <objectAnimator
        android:duration="0"
        android:propertyName="alpha"
        android:startOffset="250"
        android:valueFrom="0.0"
        android:valueTo="1.0"/>
</set>
rotate3_out
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <!--旋转-->
    <objectAnimator
        android:duration="600"
        android:propertyName="rotationY"
        android:valueFrom="0"
        android:valueTo="180"/>

    <!--消失-->
    <objectAnimator
        android:duration="0"
        android:propertyName="alpha"
        android:startOffset="250"
        android:valueFrom="1.0"
        android:valueTo="0.0"/>
</set>

详解一下

配置文件中
android:alpha 渐变透明度动画效果
android:scale 渐变缩放动画效果
android:translate 画面转换位置移动动画效果
android:rotate 画面转移旋转动画效果

alpha

属性 类型 说明
fromAlpha 浮点型值 动画起始时透明度
toAlpha 浮点型值 动画结束时透明度
duration 长整型值 动画持续时间

注:浮点型0.0表示完全透明,1.0表示完全不透明

scale

属性 类型 说明
interpolator 指定一个动画的插入器
fromXScale 浮点型值 动画起始时X坐标上的伸缩尺寸
toXScale 浮点型值 动画结束时X坐标上的伸缩尺寸
fromYScale 浮点型值 动画起始时Y坐标上的伸缩尺寸
toYScale 浮点型值 动画结束时Y坐标上的伸缩尺寸
pivotX 百分比 动画相对于物件的X坐标的开始位置
pivotY 百分比 动画相对于物件的Y坐标的开始位置

注:
1)浮点型0.0表示收缩到没有,1.0表示正常无伸缩,值小于1.0表示收缩 ,值大于1.0表示放大
2)百分比从0%-100%中取值 50%为物件的X或Y方向坐标上的中点位置

translate

属性 类型 说明
fromXDelta 整型值 动画起始时X坐标上的位置
toXDelta 整型值 动画结束时X坐标上的位置
fromYDelta 整型值 动画起始时Y坐标上的位置
toYDelta 整型值 动画结束时Y坐标上的位置
duration 长整型值 动画持续时间

注:没有指定fromXType、toXType、fromYType、toYType 时候,默认是以自己为相对参照物

rorate

属性 类型 说明
interpolator 指定一个动画的插入器
fromDegrees 浮点型值 动画起始时物件的角度
toDegrees 浮点型值 动画结束时物件旋转的角度
pivotX 浮点型值 动画相对于物件的X坐标的开始位置
pivotY 浮点型值 动画相对于物件的Y坐标的开始位置
duration 长整型值 动画持续时间

注:
1)当结束角度为负数表示逆时针旋转,当结束角度为正数表示顺时针旋转
2)百分比从0%-100%中取值 50%为物件的X或Y方向坐标上的中点位置

相关文章

网友评论

      本文标题:Android开发记录-简单的Activity跳转动画,Frag

      本文链接:https://www.haomeiwen.com/subject/mjeqsctx.html