gpt4 book ai didi

java - Java 中的动态 VectorDrawable 动画而不是动画 vector 可绘制对象

转载 作者:行者123 更新时间:2023-12-01 06:03:46 25 4
gpt4 key购买 nike

我一直在 xml 中使用 animated-vector 来通过使用 trimPathEnd 等来为我的一些 vector 设置动画,例如:

<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/vectordrawable" >
<target android:name="main_path">
<aapt:attr name="android:animation">
<objectAnimator
android:duration="1000"
android:interpolator="@android:interpolator/fast_out_linear_in"
android:propertyName="trimPathEnd"
android:valueFrom="0"
android:valueTo="1"/>
</aapt:attr>
</target>
</animated-vector>

但是我想知道是否可以在不使用动画的情况下修剪PathEnd或trimPathStart,这是因为我想实现一个基于屏幕触摸偏移绘制 vector 的布局,所以我猜想像 vector.setTrimPathEnd(0.2f); 是我需要根据特定偏移量动态更改 Java 中的路径末端。我能找到的所有信息都是通过动画 vector 来完成此操作,这不是我在这里需要的行为。

最佳答案

这就是 Lottie文件说:

Pros of Lottie vs AnimatedVectorDrawable

  • Supports a much larger set of After Effects features.
  • Manually set progress to hook up an animation to a gesture, event, etc. > - Download animations from the network.
  • Dynamic playback speed.
  • Masks are anti-aliased.
  • Dynamically change the color of a specific part of an animations

它提到的是Lottie可以手动设置进度而AVD不能。我找不到任何关于此的 Android 官方文档,但我相信这是真的,因为如果您查看 AnimatedVectorDrawable 代码,没有任何方法允许您获取或设置动画进度。

因此请考虑使用 Lottie 来代替,它有许多很酷的功能和一大堆community resources

关于java - Java 中的动态 VectorDrawable 动画而不是动画 vector 可绘制对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50350023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com