Java中的动态VectorDrawable动画,而不是动画矢量drawable

时间:2018-05-15 12:18:12

标签: java android android-vectordrawable animatedvectordrawable

我一直在使用xml中的animated-vector使用trimPathEnd等对我的某些向量进行动画处理,例如:

<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>

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

1 个答案:

答案 0 :(得分:-1)

以下是Lottie文件所说的内容:

  

Lottie与AnimatedVectorDrawable的优点

     
      
  • 支持更大的After Effects功能集。
  •   
  • 手动设置进度以将动画连接到手势,事件等。&gt; - 从网络下载动画。
  •   
  • 动态播放速度。
  •   
  • 面具是消除锯齿的。
  •   
  • 动态更改动画特定部分的颜色
  •   

它提到的是<div *ngFor="let n of numberMap"> {{n}} </div> 可以Lottie而AVD不能。我找不到任何Android官方文档,但我相信这是真的,因为如果你查看Manually set progress代码,没有方法可以让你获取或设置动画进度。

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