Android波浪动画

时间:2016-01-12 20:09:17

标签: android animation android-animation material-design android-transitions

我找到了非常漂亮的过渡动画,现在我想将这个动画实现到我的应用程序中。

这是example

我发现只有一个提供类似内容的库,它是here。但它只显示输入动画并且不提供退出动画。动画并不流畅。 也许某人正在做这样的事情并且可以帮助我?

1 个答案:

答案 0 :(得分:2)

您描述的动画称为圆形显示。仅适用于棒棒糖和棉花糖。如果这是你的目标,只需谷歌一个关于圆形揭示动画的教程并实现它。

如果您想在旧设备上使用它,您有两种选择:

转换为单一颜色,然后淡化其他视图。 这个非常简单和高效。您可以使用缩放动画绘制圆圈。它可以是硬件加速的,并且非常容易实现。

  • 扩展视图
  • 让id在其onDraw方法中绘制一个圆圈
  • 在起点上正确定位
  • 添加缩放动画和动画侦听器
  • 在onAnimationEnd中与第二个孩子做点什么

在两个完整视图之间进行转换 这个更有趣。它被称为掩蔽或蒙面过渡。看一下Carbon的TransitionLayout。这两种方法特别重要:

void startRadialTransition(int duration)

void dispatchDraw(Canvas canvas)

基本上你必须:

  • 将一个孩子画到一个图层
  • 将第二个孩子绘制到单独的图层
  • 用圆圈遮盖该图层
  • 合并这两个图层并在视图画布上绘制它们
  • 增加圆的半径并重复