作为前言,有许多关于淡入淡出动画的问题,但没有一个问题似乎有我的确切问题。我的应用程序中有一个浮动操作按钮,我希望在一定的持续时间和延迟时淡出。动画的代码(即使它无关紧要,在浮动动作动作侦听器内)看起来像这样。在这段代码中,b
是FAB。
AlphaAnimation animation1 = new AlphaAnimation(1, 0);
animation1.setDuration(1000);
animation1.setStartOffset(1000);
animation1.setFillAfter(true);
b.startAnimation(animation1);
代码看起来很好,但它不起作用,我完全没有想法。我尝试按照b.setAnimation()
使用b.animate()
,但无济于事。我不想要使用XML,因为动画的值startOffSet依赖于其他组件。
提前致谢。
* **更新 ***
我找到了解决办法。而不是b.startAnimation(animation)
,将动画应用于按钮:b.setAnimation(animation)
。如果您然后尝试使按钮/视图不可见
b.setVisibility(View.INVISIBILE)
它将使用您指定的动画。
答案 0 :(得分:2)
您能否指定您使用的是哪个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);
}
});