在浮动操作按钮上淡化动画

时间:2016-03-07 13:38:59

标签: java android animation

作为前言,有许多关于淡入淡出动画的问题,但没有一个问题似乎有我的确切问题。我的应用程序中有一个浮动操作按钮,我希望在一定的持续时间和延迟时淡出。动画的代码(即使它无关紧要,在浮动动作动作侦听器内)看起来像这样。在这段代码中,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) 

它将使用您指定的动画。

1 个答案:

答案 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);
        }
    });