浮动操作按钮上的淡入淡出动画

Posted

技术标签:

【中文标题】浮动操作按钮上的淡入淡出动画【英文标题】:Fade animation on Floating Action Button 【发布时间】:2016-03-07 13:38:58 【问题描述】:

首先,有很多关于淡入淡出动画的问题,但似乎都没有我的确切问题。我的应用程序中有一个浮动操作按钮,我想以一定的持续时间和延迟淡出。动画的代码(尽管它不重要,但在浮动动作动作侦听器中)看起来像这样。在这段代码中,b 是 FAB。

AlphaAnimation animation1 = new AlphaAnimation(1, 0);
animation1.setDuration(1000);
animation1.setStartOffset(1000);
animation1.setFillAfter(true);
b.startAnimation(animation1);

代码看起来不错,但它不起作用,而且我完全没有想法。我曾尝试按照b.animate() 使用b.setAnimation(),但无济于事。我想使用 XML,因为动画 startOffSet 的值依赖于其他组件。

提前致谢。

* **更新 ***

我找到了解决办法。而不是b.startAnimation(animation),将动画应用于按钮:b.setAnimation(animation)。如果您然后尝试像这样使按钮/视图不可见

b.setVisibility(View.INVISIBILE) 

它将使用您指定的动画。

【问题讨论】:

尝试使用nineolddroids库;通常它会神奇地修复这些动画问题(“它只是不起作用”的问题) 我现在需要一个神奇的修复方法。谢谢你的建议,我去看看。 首先,检查 FloatingActionButton 上的默认 hide() 方法是否适合您。这是使 FAB 消失的标准方法。 【参考方案1】:

能否请您指定您使用的是哪个 android 支持设计库版本? 我在 23.2.0 上测试了下面的代码,并且使用下面的代码可以很好地执行动画:

final FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
    fab.setOnClickListener(new View.OnClickListener() 
        @Override
        public void onClick(View view) 
            AlphaAnimation animation1 = new AlphaAnimation(1, 0);
            animation1.setDuration(1000);
            animation1.setStartOffset(1000);
            animation1.setFillAfter(true);
            fab.startAnimation(animation1);
        
    );

【讨论】:

感谢您的回答 Rafay。但是,我已经找到了解决方案(请参阅主帖):)。我使用的是 23.1.1 版本。

以上是关于浮动操作按钮上的淡入淡出动画的主要内容,如果未能解决你的问题,请参考以下文章

如何使用swift 3为按钮设置动画以淡出然后淡入

动画 UIButton 状态以在点击时淡入和淡出

UITableViewController 自定义单元格中缺少 UIButton 默认点击淡入淡出动画

Jquery淡入淡出背景/表格行上的动画背景颜色

如何淡入/淡出 UITableViewCell 上的 UILabel?

在 iOS 7 上的导航视图控制器上使用后退手势时,表格视图单元格上没有淡出和淡入动画