Android:浮动操作按钮内的细节动画

时间:2015-01-29 14:38:20

标签: android animation android-5.0-lollipop floating-action-button

我正在努力熟悉Android Lollipop的新设计指南。特别是对于动画,我尝试为图标或按钮实现类似动画的详细动画:http://www.google.com/design/spec/animation/delightful-details.html

我想知道他们是怎么做到的?

在我的特殊情况下,我有一个浮动操作按钮,用于将商品放入购物车。在用户按下按钮后,我想要为该按钮内的可绘制图标设置动画。动画应具有滑动效果,其中推车移出按钮底部,并且复选标记从按钮顶部移入。

enter image description here enter image description here

我找到了一个ViewFlipper(http://www.inter-fuser.com/2009/07/android-transistions-slide-in-and-slide.html),但是我想保持按钮就位,只为按钮内的图标设置动画。

另一方面,我发现了AnimationDrawables(http://developer.android.com/reference/android/graphics/drawable/AnimationDrawable.html),但在那里,我必须手工创建每个帧,这也很奇怪。

实现这一目标的最佳方式是什么?

2 个答案:

答案 0 :(得分:0)

我想知道现在是否支持现在,你可以随时创建自己的。

创建包含图像视图的自定义线性布局。让它像fab一样round。然后,您可以查看此动画examples

希望它有所帮助。快乐的编码。

答案 1 :(得分:0)

您可以使用框架动画: 您为要制作的动画创建15-20帧。 您可以创建一个可绘制的动画列表,例如 animation_list.xml

custom_name = models.CharField(
    verbose_name='Company Custom Name',
    null=False,
    max_length=settings.DATABASE_STRING_LENGTH
)

然后你将这个drawable作为src放在你的自定义FAB中。 现在您可以开始逐帧动画(当FAB动画结束时):

<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="true">
<item
    android:duration="50"
    android:drawable="@drawable/frame_01"/>
<item
    android:duration="50"
    android:drawable="@drawable/frame_02"/>
<item
    android:duration="50"
    android:drawable="@drawable/frame_03"/>
<item
    android:duration="50"
    android:drawable="@drawable/frame_04"/>
<item
    android:duration="50"
    android:drawable="@drawable/frame_05"/>
<item
    android:duration="50"
    android:drawable="@drawable/frame_06"/></animation-list>