Android-实现Animation everywhere

作者: wutongke | 来源:发表于2017-03-02 23:23 被阅读2449次

    0. 源码地址

    https://github.com/wutongke/AndroidSkinAnimator

    1. 引子

    动画效果是一个非常棒的用户体验,Android 加入Material Design,app赏心悦目了不少,关键还完全没有增加开发者的负担。不需要多写哪怕一行代码,用户体验已经提升了很多。

    但是在界面中动态删除一个View,或者更新View显示时,界面还是存在抖动的现象,过渡不够平滑。所以是否能有一种方法对开发者透明的高效动画实现呢?几天前看到有个同学实现了Android-skin-support Android换肤框架,主要原理就是在执行onCreate之前通过setFactory(LayoutInflater inflater, LayoutInflaterFactory factory)方法替换系统View为自定义的View,从而自如切换View的一些属性。仔细想想,利用这种方式可以实现太多的功能了。

    2. 思路

    其实我们需要实现的动画主要是View在Visible,Gone或者内容更新的时候可以平滑切换:


    动画配置使用build的方式,操作方法:

    new AnimatorConfig.Builder()
                    .textviewTextAnimationType(ViewAnimatorType.AlphaUpdateAnimator)
                    .textviewVisibleAnimationType(ViewAnimatorType.TranslationAlphaHideAnimator)
                    .imageviewVisibleAnimationType(ViewAnimatorType.TranslationAlphaHideAnimator)
                    .build())
    

    以上就是实现animator everywhere 的思路和基本的代码结构,源码可以参考AndroidSkinAnimator

    以下是已经实现的一些动画:


    wutongke

    推荐阅读:

    重要-作为Android开发者必须了解的Gradle知识

    编写高效的Android代码(译)

    Android中使用gradient的一条建议

    寻找卓越的(Android)软件工程师

    相关文章

      网友评论

      本文标题:Android-实现Animation everywhere

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