如何将FAB转换为弹出菜单?

Gar*_*ech 9 android android-animation

根据材料设计指南 "浮动动作按钮可以转换为包含所有动作的单张材料".

我想在不使用第三方库的情况下创建以下动画.

在此输入图像描述

Fra*_*EUX 7

首先,您需要以小部分剪切该动画.在那个例子中,我可以推导出3个步骤:

  1. 对点击事件触发的FAB的连锁反应.
  2. 左边的翻译适用于FAB.
  3. 应用于卡片的圆形显示动画.

所以你需要创建一个FAB(visible)和一张卡片(invisible).FAB在它的初始位置和卡最后一个.在FAB上触发涟漪效果(步骤1)并再次在FAB上移动事件结束时(步骤2结束),您只需要关闭FAB并在卡上启动显示动画(步骤3) .

要启动圆形显示动画,只需调用该ViewAnimationUtils.createCircularReveal方法即可.通过您的卡片视图,X,Y开始坐标,半径,就是这样!困难肯定是找到每个动画之间的最佳持续时间和开始/结束坐标,以尽可能平滑.

如果你愿意,你可以在这里查看我的帖子/sf/answers/2937010681/.我使用圆形显示动画在两个工具栏之间创建一个切换.你的代码的某些部分将与我的相似(我也在最后恢复了我的目标).

GitHub上的示例项目

https://github.com/fbourlieux/android-material-circular_reveal_animation

希望这有帮助!

弗朗索瓦

用户链接: