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
推荐阅读:
网友评论