美文网首页自定义views View动画
Android常见动画效果合集,让APP熠熠生辉,绚丽灵动

Android常见动画效果合集,让APP熠熠生辉,绚丽灵动

作者: 孔鹏飞 | 来源:发表于2021-02-14 21:41 被阅读0次

    前言

    在App中添加一些动画效果,会给用户耳目一新,眼前一亮的感觉,让APP显的高端大气上档次,因此开发项目的过程中能够实现一些常见的动画效果还是很有必要的,Android本身提供了丰富的动画API,方便我们实现炫酷的动画效果。

    先放上几张实现的效果图:

    闪屏页 引导页 汽车之家
    闪屏页 引导页 汽车之家
    图片浏览 属性动画 京东到家
    图片浏览 属性动画 京东到家

    正文

    逐帧动画(Frame Animation)

    一帧一帧进行播放,它的原理与Gif类似,按序播放一组预先定义好的图片序列,如:

    <?xml version="1.0" encoding="utf-8"?>
    <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:duration="100" android:drawable="@drawable/loading01" />
        <item android:duration="100" android:drawable="@drawable/loading02" />
        <item android:duration="100" android:drawable="@drawable/loading03" />
        <item android:duration="100" android:drawable="@drawable/loading04" />
        <item android:duration="100" android:drawable="@drawable/loading05" />
        <item android:duration="100" android:drawable="@drawable/loading06" />
        <item android:duration="100" android:drawable="@drawable/loading07" />
        <item android:duration="100" android:drawable="@drawable/loading08" />
        <item android:duration="100" android:drawable="@drawable/loading09" />
        <item android:duration="100" android:drawable="@drawable/loading10" />
        <item android:duration="100" android:drawable="@drawable/loading11" />
        <item android:duration="100" android:drawable="@drawable/loading12" />
    </animation-list>
    
    • android:oneshot 是否只播放一次
    • android:duration 每一帧播放时长
    • android:drawable 每一帧对应的图片

    补间动画(Tween Animation)

    动画类型 XML配置方式 Java代码实现方式
    渐变透明度动画 alpha AlphaAnimation
    缩放动画 scale ScaleAnimation
    旋转动画 rotate RotateAnimation
    平移动画 translate TranslateAnimation

    属性动画(Property Animation)

    直接更改View 的属性来实现的动画。
    工作原理:在一定时间间隔内,通过不断调用set方法对值进行改变,并不断将该值赋给对象的属性,从而实现该对象在该属性上的动画效果

    转场动画 (Transition Animation)

    Google在Android 5.0之后推出的一种动画效果,就是以某种方式从一个场景以动画的形式过渡到另一个场景,可以参考Material-Animations,常用于点击列表页中的图片跳转到大图或由列表页跳转到详情页

    Lottie动画

    Lottie 是 Airbnb推出的一套跨平台的动画完整解决方案,它能够帮助开发者直接加载json格式的文件在 iOS、Android 和 React Native之上,实现 100% 与设计稿相同的动画效果,而无需关心中间的实现细节。设计师只需要使用 After Effectes 设计出动画之后,通过使用 Lottie 提供的Bodymovin插件将设计好的动画导出成json格式的文件交付给开发即可完成。 Lottie网站 lottie-android

    lottie

    Tgs动画

    跨平台的即时通信软件Telegram推出的新的Sticker贴纸格式,这个全新的 Sticker 贴纸格式为 .tgs,其实就是基于Lottie json文件改造而来的一种格式

    telegram-sticker.gif

    GIF动画

    GIF(Graphics Interchange Format)是由CompuServe公司开发的一种图像文件格式,可以将多幅图像保存到一个图像文件,展示的时候将多幅图像数据逐帧读出并显示到屏幕上,从而形成动画效果。在Android中播放GIF通常有以下几种方式:

    • 使用Android SDK中自带的android.graphics.Movie类(已过时)
    • 使用Glidefresco等图片加载类库,Glide支持加载本地和网络上的GIF图片
    • 使用giflib类库在native层解码GIF,使用FrameSequenceDrawable的双缓冲机制进行绘制展示GIF中的每一帧图像
    • 使用android-gif-drawable类库,其底层也是使用giflib进行GIF解码

    GitHub

    https://github.com/kongpf8848/Animation

    参考

    animlogoview

    Telegram

    相关文章

      网友评论

        本文标题:Android常见动画效果合集,让APP熠熠生辉,绚丽灵动

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