答案 0 :(得分:6)
首先,您需要以小部分剪切动画。 在那个例子中,我可以推导出3个步骤:
所以你需要创建一个FAB(visible
)和一张卡片(invisible
)。 FAB在它的初始位置和卡最后一个。在FAB上触发涟漪效果(步骤1)并再次在FAB上移动事件结束时(步骤2结束),您只需要关闭FAB并在卡上启动显示动画(步骤3)
要启动循环显示动画,只需调用ViewAnimationUtils.createCircularReveal
方法即可。通过您的卡片视图,X,Y开始坐标,半径,就是这样!难点肯定是找到每个动画之间的最佳持续时间和开始/结束坐标,以使其尽可能平滑。
如果您愿意,可以在此处查看我的帖子https://stackoverflow.com/a/41957295/1053880。我使用圆形显示动画在两个工具栏之间创建一个切换。你的代码的某些部分将与我的相似(我也在最后恢复了我的目标)。
GitHub上的示例项目
https://github.com/fbourlieux/android-material-circular_reveal_animation
希望这有帮助!
弗朗索瓦
有用的链接: