浮动操作按钮上的淡入淡出动画
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 版本。以上是关于浮动操作按钮上的淡入淡出动画的主要内容,如果未能解决你的问题,请参考以下文章
UITableViewController 自定义单元格中缺少 UIButton 默认点击淡入淡出动画