首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在AnimatorSet中使用setDelay制作动画?

在AnimatorSet中使用setDelay制作动画可以通过以下步骤实现:

  1. 创建AnimatorSet对象:使用AnimatorSet类的构造函数创建一个AnimatorSet对象,用于管理多个动画的播放顺序和时间。
  2. 创建动画对象:使用ObjectAnimator类创建需要的动画对象。可以使用不同的属性动画类(如ValueAnimator、ObjectAnimator)创建不同类型的动画,根据需求选择适当的动画类型。
  3. 设置动画属性:使用ObjectAnimator的方法设置动画的目标对象、属性名称和属性值。例如,可以使用ofFloat()方法创建一个浮点值动画,并设置目标对象、属性名称和起始值、结束值。
  4. 设置动画延迟:使用setStartDelay()方法设置动画的延迟时间。该方法接受一个毫秒值作为参数,表示动画开始前的延迟时间。
  5. 将动画添加到AnimatorSet中:使用AnimatorSet的play()方法将创建的动画对象添加到AnimatorSet中。可以使用with()、before()、after()等方法设置动画的播放顺序。
  6. 启动动画:调用AnimatorSet的start()方法启动动画。AnimatorSet会按照设置的播放顺序和时间执行动画。

以下是一个示例代码,演示如何在AnimatorSet中使用setDelay制作动画:

代码语言:java
复制
// 创建AnimatorSet对象
AnimatorSet animatorSet = new AnimatorSet();

// 创建动画对象
ObjectAnimator scaleXAnimator = ObjectAnimator.ofFloat(view, "scaleX", 1f, 2f);
ObjectAnimator scaleYAnimator = ObjectAnimator.ofFloat(view, "scaleY", 1f, 2f);

// 设置动画延迟
scaleXAnimator.setStartDelay(1000); // 延迟1秒开始
scaleYAnimator.setStartDelay(2000); // 延迟2秒开始

// 将动画添加到AnimatorSet中
animatorSet.play(scaleXAnimator).with(scaleYAnimator);

// 启动动画
animatorSet.start();

在这个示例中,我们创建了一个AnimatorSet对象,并使用ObjectAnimator创建了两个缩放动画对象。然后,我们使用setStartDelay()方法分别设置了两个动画的延迟时间。最后,我们将两个动画添加到AnimatorSet中,并使用play()方法设置两个动画同时播放。最终,调用start()方法启动动画。

这样,就可以在AnimatorSet中使用setDelay制作动画了。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

何在 Photoshop 制作 GIF 动画

您可能已经使用过一些在线 gif 生成器来快速生成 gif 图像,但这些在线生成器无法提供与 Photoshop 相同的灵活性和结果。gif 就像您可以在 Photoshop 创建的迷你动画。...当你制作 gif 时,你正在创建图层的运动。您可以从照片、矢量或从头开始制作动画 GIF。在本教程,我将向您展示如何在 Photoshop 从头开始创建矢量 GIF。例如,我要制作一个圆形动画。...选择RGB颜色模式,因为 gif 是供数字使用的。您可以根据自己的喜好设置大小,但我建议您在图像背景中保留尽可能少的空白。步骤2:使用椭圆工具创建一个完美的圆形。...第 9 步:点击并保存按钮,恭喜您,您已经创建了一个 gif 动画!如果您想对图像进行动画处理,请查看我们的教程。结论您可以使用上面的方法来创建切蛋糕、切披萨等的 gif。...您所要做的就是将红色圆圈替换为您想要制作 gif 的对象。

43830

从零开始学Android自定义View之动画系列——属性动画(2)

实现组合动画功能主要需要借助AnimatorSet这个类,这个类提供了一个play()方法,如果我们向这个方法传入一个Animator对象(ValueAnimator或ObjectAnimator)将会返回一个...AnimatorSet.Builder的实例,AnimatorSet.Builder包括以下四个方法: • after(Animator anim) 将现有动画插入到传入的动画之后执行 • after...XML编写动画 过去的补间动画除了使用代码编写之外也是可以使用XML编写的,因此属性动画也提供了这一功能,即通过XML来完成和代码一样的属性动画功能。...然后在XML文件我们一共可以使用如下三种标签: • 对应代码的ValueAnimator • 对应代码的ObjectAnimator...最后XML文件是编写好了,那么我们如何在代码把文件加载进来并将动画启动呢?

50410
  • HenCoder Android 进阶 UI 1-7:属性动画(进阶篇)

    这两种属性类型是属性动画最常用的两种,不过在实际的开发,可以做属相动画的类型还是有其他的一些类型。当需要对其他类型来做属性动画的时候,就需要用到 TypeEvaluator 了。...ArgbEvaluator 视频的例子,TypeEvaluator 最经典的用法是使用 ArgbEvaluator 来做颜色渐变的动画。...所以你如果有多个属性需要修改,可以把它们放在不同的 PropertyValuesHolder ,然后使用 ofPropertyValuesHolder()统一放进 Animator。...以及这么用: // 使用 AnimatorSet.play(animatorA).with/before/after(animatorB) // 的方式来精确配置各个 Animator 之间的关系 animatorSet.play...第二部分,「关于复杂的属性关系来做动画」,就这么三种: 使用 PropertyValuesHolder 来对多个属性同时做动画使用 AnimatorSet 来同时管理调配多个动画; PropertyValuesHolder

    1.1K20

    札记:Property动画

    比如上面案例,t=10ms时动画时间进度为0.25f=25%=10ms/40ms; 计算属性值变化百分比:时间进度确定后,为了让动画值变化和时间进度保持某种映射关系以表现出特殊动画效果,加速减速运动等...使用ObjectAnimator ObjectAnimator 是ValueAnimator的子类,所以它拥有“动画时间引擎”和属性值计算的能力,同时又支持关联目标对像,这样对目标对像就可以在动画过程自动更新其属性...使用AnimatorSet 可以使用AnimatorSet组合多个ValueAnimator,可以是其它的AnimatorSet。...而ObjectAnimator在更新一些对像的某些属性——view的background颜色时,也需要使用此接口手动执行一些逻辑。...在代码AnimatorSet set = (AnimatorSet) AnimatorInflater.loadAnimator(myContext, R.anim.property_animator

    1K70

    Android动画全解!

    Activity的切换效果 二、属性动画 2.1 使用方法 2.2对任意属性做动画 2.3 属性动画的原理 三、使用动画的注意事项 Android动画分为:View动画、帧动画(也属于View动画)...//view动画使用,方式一:xml,建议使用。...可用通过ObjectAnimator、ValueAnimator、AnimatorSet实现丰富的动画。 2.1 使用方法 属性动画可对任意对象做动画,不仅仅是View。...其中animatorUpAndDown是使用xml定义,标签含义也很好理解。最后使用AnimatorSet的play、with、after 实现 先横移,然后 竖移和颜色变化 同时的动画集合效果。...set方法要对object有所改变,UI的变化。不满足则会没有动画效果 上面Button没有动画效果,就是没有满足第二条。

    2.3K10

    Android--属性动画基础

    安卓动画分成两类 一种是传统动画:补间动画,帧动画,其本质是canvas的矩阵变换 另一种是属性动画,由谷歌从Android3.0以后推出 传统动画仅仅是视觉效果,并不会实际改变view的属性,比如...我们使用属性动画,需要掌握5个类 ObjectAnimator ValueAnimator PropertyValueHolder TypeEvaluator Interpolator 首先,我们创建一个...ImageView,使用默认的安卓启动图标 <?...如果我们要实现一个自由落体抛物线动画,可以使用估值器TypeEvaluator public void startAnimation(View view) { final ImageView...动画执行过程,我们想要控制它的执行速度,可以使用插值器(加速器)Interpolater,下面介绍了几种常用的插值器 public void startAnimation(View view)

    50920

    Android动画实现原理和代码

    动画是提升用户体验的一个重要因素,好的动画交互让人用着更舒心,那么今天的这篇文章就是介绍Android动画实现,让我们的应用动起来。...它将为按钮与操作行为转换提供一些默认动画,我们可以定制触摸反馈,使用揭露效果,定制操作行为转换,指定定制转换,使用转换启动一个操作行为,以共享元素启动一个操作行为等等。...插值器 在动画插值器起的作用主要是改变动画的执行速率,一般情况我们不需要自己实现插值器,因为在Android已经给我们提供了9种插值器,应该够我们使用了,我们使用插值器后会让动画执行的效果更酷炫,当然想自定义插值器也不难...AnimatorSet,此方法使用的是按顺序播放。...(4000); set.start(); } Fragment/Activity动画 其实实现Activity及Fragment切换动画也是很简单的,具体的动画效果制作可以使用即使上面介绍的补间动画

    1.2K00

    Android 属性动画框架 ObjectAnimator、ValueAnimator ,这一篇就够了

    ---- 简单效果 ---- 工作原理 属性动画字如其名,是通过改变 View 的属性值来改变控件的形态,说白了就是通过反射技术来获取控件的一些属性宽度、高度等的 get 和 set 方法,从而实现所谓的动画效果...所以,这就需要我们的 View (自定义 View )具有 set 和 get 方法,如果没有则会导致程序的 Clash 。...---- 使用 ObjectAnimator 实现四种动画 这里我打算通过使用 ObjectAnimator 实现四大动画框架: alpha scaleX/scaleY translateX/translateY...对象 设置,变化发生的轴心(部分需要) 设置所需要发生改变的动画(通常在 playTogether() 方法) 开启动画 最后的运行效果如开头动画所示 同样的,我们可以在一个 playTogether...方法添加多个动画,这样就能实现多动画组合的效果。

    2.4K30

    Android动画教程之属性动画详解

    简介 Android 开发,总是需要一些动画来优化用户的交互体验,提高用户满意度。因此,Google 为我们提供了一些用于处理动画效果的动画框架。...其实我们还能用 X Y 两个属性实现之前的动画效果,那么对象属性 X 的 Y 与 translationX translationY 有什么区别呢?... scaleX、scaleY 等等… 插值器 Android 为我们内置了插值器,使我们的动画更为自然。...使用方法 我们可以通过 ValueAnimator 的 ofXXX 产生一个 XXX 类型的值(ofInt),然后为 ValueAnimator 添加一个更新的回调事件。...在回调事件,通过参数 animation 的 getAnimationValue() 方法,来获取对应的 value。有了这个值,我们就可以实现我们所有想要的动画效果。

    92210

    Android技能树 — 动画小结

    四种基本动画: 我们可以看到,其实View动画很简单,基本使用的是“平移”,“缩放”,“旋转”,“透明度”四种基本动画。 2....LayoutAnimaion : 在ViewGroup,View动画可以用来控制子元素的出场效果,比如我们的应用的列表,我们在加载列表的子项的时候,可以让item加载的时候不是突然出现,可以伴随各种动画...所以你如果有多个属性需要修改,可以把它们放在不同的 PropertyValuesHolder ,然后使用 ofPropertyValuesHolder() 统一放进 Animator。...(); // 两个动画依次执行 animatorSet.playSequentially(animator1, animator2); animatorSet.start(); 复制代码 使用 playSequentially...: // 使用 AnimatorSet.play(animatorA).with/before/after(animatorB) // 的方式来精确配置各个 Animator 之间的关系 animatorSet.play

    75520

    Android动画工具类的封装实战记录

    思路 既然要做动画,肯定是要做属性动画的工具类的封装了,由于补间动画和逐帧动画并不能改变目标动画主题的实际属性,在Android的开发已经越来越少人去用这两个动画框架做开发了,而属性动画则相对的越来越广泛的使用在开发过程中了...封装属性动画工具类不可避免的还要考虑到属性动画的组合播放动画的需求,而属性动画的组合播放有大约三种方式: 1.使用AnimatorSet的Builder来组合播放 AnimatorSet.Builder...是一个使用动画工具类,用于方便向AnimatorSet添加动画以及设置各种动画之间的关系。...在 AnimatorSet.Builder,共声明了after(long)、after(Animator)、before(Animator)、with(Animator)等四个方法。...2.使用AnimatorSet的playSequentially API playSequentially(List items):添加一组动画,播放顺序为逐一播放 playSequentially

    1K20

    Android自定义View实现抖音飘动红心效果

    本文实例为大家分享了Android自定义View实现抖音飘动红心效果的具体代码,供大家参考,具体内容如下 自定义View——抖音飘动红心 效果展示 动画效果 使用自定义view完成红心飘动效果 ?...View实现 动画:属性动画(位移+缩放+透明度+旋转) + 随机数:(属性动画参数+颜色选取) View /** * 飘心效果 * 1.创建ImageView * 2.ImageView执行组合动画...animatorSet = new AnimatorSet(); animatorSet.play(createTranslationX(heartIv)) .with(createTranslationY...animatorSet = new AnimatorSet(); animatorSet.setDuration(mDuration); animatorSet.setInterpolator(new...animator.setInterpolator(new CycleInterpolator((float) (6 * Math.random()))); return animator; } } 最后在MainActivity调用

    83621
    领券