java - float 操作按钮上的淡入淡出动画

标签 java android animation

作为前言,有很多关于淡入淡出动画的问题,但似乎没有一个问题与我的问题完全相同。我的应用程序中有一个 float 操作按钮,我希望它以一定的持续时间和延迟淡出。动画的代码(尽管它不重要,但位于 float Action Action 监听器内)如下所示。在这段代码中,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.setAnimation(animation),而不是 b.startAnimation(animation)。如果您尝试像这样使按钮/ View 不可见

b.setVisibility(View.INVISIBILE) 

它将使用您指定的动画。

最佳答案

您能否指定您使用的是哪个 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);
        }
    });

关于java - float 操作按钮上的淡入淡出动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35845279/

相关文章:

java - 无法使用 spark (java) 从 Cassandra 获取数据

java - 由于文件路径中的附加斜杠,找不到 Spring 占位符 (.properties)

java - 正确格式化 Java 字符串以适应 JavaScript 变量

java - 在 HashMap 值中存储两个值

java - 如何从 arrayList 中删除一项

ios - CAAnimation 为复选标记绘图设置动画

android - 应用程序需要您的设备上不可用的功能

java - 使用 Jsoup 解析 html 并删除具有特定样式的跨度

jquery - 卡住动画/防止悬停的回调动画播放

javascript - 有没有办法在 JS 中监听特定位置 "from left"?