浮动操作按钮启动动画

3
我在网上搜索了一段时间,但似乎找不到答案。我已经创建了一个浮动操作按钮,并且已经可以正常显示和点击等,但是目前还没有将其连接起来。在继续之前,我想知道如何使它在启动时进行动画处理。
在材料设计页面上,FAB显示为发芽类型的动画,从正确位置出现,但会动画到其预期大小。在这里可以找到链接
非常感谢您的帮助。

它使用内置动画:floatButton.hide()(或show)。 - vuhung3990
2个回答

2
你可以查看 FloatingActionButton 中的 Behavior 类。例如,进入动画是如何实现的:
private void animateIn(FloatingActionButton button) {
    button.setVisibility(0);
    if(VERSION.SDK_INT >= 14) {
        ViewCompat.animate(button).scaleX(1.0F).scaleY(1.0F).alpha(1.0F).setInterpolator(AnimationUtils.FAST_OUT_SLOW_IN_INTERPOLATOR).withLayer().setListener((ViewPropertyAnimatorListener)null).start();
    } else {
        Animation anim = android.view.animation.AnimationUtils.loadAnimation(button.getContext(), anim.fab_in);
        anim.setDuration(200L);
        anim.setInterpolator(AnimationUtils.FAST_OUT_SLOW_IN_INTERPOLATOR);
        button.startAnimation(anim);
    }
}

嘿!再次见面!这段代码应该放在FloatingActionButtonFragment类的onCreateView()方法中吗?还是像behavior.animateIn(FAB)这样使用?不确定这个上下文应该如何使用。 - erp
是的,但你可能希望动画只在 savedInstanceState == null 的情况下播放第一次。 - Markus Rubey
我在API中找不到animateIn。能否提供链接或编辑您的答案以反映如何实现它。我找到了FloatingActionButton.Behavior类,但是其中没有关于动画的内容 - erp
这不是公共 API,这就是为什么我指引你去找它。在内部,它与 CoordinatorLayout 一起使用。要使用它,您需要自己实现它。 - Markus Rubey

0

你想在这里使用 AnimationUtils。这是一个简单的教程:Android 动画


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接