我发现非常非常漂亮的过渡动画,现在我想在我的应用程序中实现这个动画。
这里是 example .
我发现只有一个库提供类似的东西,它是 here .但它只显示进入动画,不提供退出动画。而且动画不流畅。 也许有人正在做这样的事情并且可以帮助我?
最佳答案
您描述的动画称为循环显示。仅适用于 Lollipop 和 Marshmallow。如果这是你的目标,只需在谷歌上搜索一个关于圆形显示动画的教程并实现它。
如果您想在旧设备上使用它,您有两种选择:
过渡到单一颜色,然后淡入其他 View 。 这是一个非常简单和高效的。你可以用比例动画画一个圆圈。它可以进行硬件加速并且非常容易实现。
- 扩展 View
- 让id在其onDraw方法中画一个圆
- 将其正确定位在起点上
- 添加比例动画和动画监听器
- 在 onAnimationEnd 中与您的第二个 child 做点什么
在两个完整 View 之间进行转换 这个比较有意思。它被称为掩蔽或掩蔽过渡。从 Carbon 查看 TransitionLayout .这两个方法特别重要:
void startRadialTransition(int duration)
void dispatchDraw(Canvas canvas)
基本上你必须:
- 将一个 child 画到一层
- 将第二个 child 画到一个单独的图层
- 用圆圈遮盖该层
- 合并这两层并将它们绘制在 View 的 Canvas 上
- 增加圆的半径并重复
关于Android波浪动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34752876/