Android中的动画矢量资产路径(Line,Arc,...)

时间:2018-04-10 19:39:14

标签: android animation svg vector

假设我有一条线,我想要Animate这条线,首先是线被隐藏,经过时间传递少许小线出现并完成,我的问题是它可以在Android中执行此操作或我必须使用Adobe After Effects吗?
更新:

<svg 
version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" xml:space="preserve" viewBox="0 0 500 400">     

<style type="text/css">
    .st0{fill:none;
    stroke:#009CA7;
    stroke-width:7;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-miterlimit:10;}
</style>
   <path class="st0" d="M10,140 C10,90,70,20,140,20 s110,40,110,40"/>
   <path class="st0" d="M210,260 l-1,-120 c0,-30,-30,-60,-70,-60 s-70,25,-70,60 v240"/>
</svg> 

1 个答案:

答案 0 :(得分:2)

使用trimPath *属性的AnimateVectorDrawable

VectorDrawable <path>元素有三个属性,可让您指定应绘制路径的哪个部分。

请参阅:https://developer.android.com/reference/android/graphics/drawable/VectorDrawable.html

  

android:trimPathStart

     

从开始修剪的路径的分数,范围从0开始   至1.默认为0。

     

android:trimPathEnd

     

从末尾修剪的路径的分数,范围从0到   1.默认值为1.

     

android:trimPathOffset

     

移位修剪区域(允许显示区域包括开始和结束),   在0到1的范围内。默认值为0.

您需要做的就是创建一个动态AnimatedVectorDrawable来激活其中一个或多个属性。最有可能的是,您只需要为trimPathEnd设置动画。

如果您不想自己创建AnimatedVectorDrawable文件,可以使用一些库来帮助您。例如:https://github.com/tarek360/RichPath

路径追踪

或者,如果您想使用SVG,您可以使用Romain Guy描述的技术。

http://www.curious-creature.com/2013/12/21/android-recipe-4-path-tracing/

还有一些图书馆为您提供繁重的工作:  例如。 https://github.com/geftimov/android-pathview