如何在android中简单地为视图设置动画

Posted

技术标签:

【中文标题】如何在android中简单地为视图设置动画【英文标题】:How to simply animate views in android 【发布时间】:2014-09-06 15:00:18 【问题描述】:

我一直在浏览网络以及 android 开发人员指南,但找不到任何简单的方法来按我想要的顺序为我的视图设置动画。 我希望能够执行几个这样的动画

yourView.animate().xBy(100).setDuration(500);
yourView.animate().alpha(0).setDuration(500);
yourView.animate().whateverIwannaDo(...).setDuration(...);
...

每个动画之间有(或没有)等待时间,并且不必使用 AnimatorSet 或 AnimationSet(即使在阅读开发者指南后我也无法理解):/

如果没有办法这样做,那么是否有任何明确的指南可以逐步解释如何使用 AnimatorSet 等等。

我希望你们能容忍我的问题。

提前致谢。

【问题讨论】:

【参考方案1】:

我鼓励您使用NineOldAndroid。它是一个允许在所有版本的 Android 平台上使用 Honeycomb 动画 API 的库。

AnimatorSet set = new AnimatorSet();
    set.playTogether(
        ObjectAnimator.ofFloat(myView, "rotationX", 0, 360),
        ObjectAnimator.ofFloat(myView, "translationX", 0, 90),
        ObjectAnimator.ofFloat(myView, "scaleX", 1, 1.5f),
        ObjectAnimator.ofFloat(myView, "alpha", 1, 0.25f, 1));
set.setDuration(5 * 1000).start();

要使用这个库,您有三个选择:

使用gradle,在您的 build.gradle 配置文件中:

buildscript 
    repositories 
        mavenCentral()
    

    dependencies 
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.2+'
    


dependencies 
    compile 'com.nineoldandroids:library:2.4.0'

使用maven

<dependency>
  <groupId>com.nineoldandroids</groupId>
  <artifactId>library</artifactId>
  <version>2.4.0</version>
</dependency>

另外,您可以将其作为dependency jar 添加到您的项目中

【讨论】:

当然,这正是我想了解的。 “ObjectAnimator.ofFloat”部分。现在我很好。那么如果我想使用这个库,我该怎么办?

以上是关于如何在android中简单地为视图设置动画的主要内容,如果未能解决你的问题,请参考以下文章

如何使用流畅的动画垂直地为集合视图设置动画

如何正确地为隐藏在 UITableViewCell 中的 UIStackView 设置动画?

一个接一个地为 3 个视图设置动画

如何在 Unity3d 中最好地为 2D 精灵设置动画? [关闭]

如何同时成功地为多个 CALayers 设置动画?

如何在 R 中使用 OpenGL 加速有效地为图像栅格设置动画?