PAGFile手动设置速度失效问题处理

背景

在Android中设计给了原PAG动画,但是运动速度太快,想通过代码修改。原运动速度为1s总时长,想改为2s

代码

pagFile.setTimeStretchMode(PAGTimeStretchMode.Scale)
pagFile.setDuration(2000L)

结果发现设置完并不管用

官方文档

区间播放:首先通过 PAGComposition.Make() 方法创建一个空的 PAGComposition 容器,然后通过它的 addLayer 接口添加你想要播放的 PAGFile 对象。接着你可以对这个 PAGFile 调用 setStartTime 和 setDuration 来控制你想播放的具体区间。最后把这个总的 PAGComposition 交给 PAGView 去播放即可。

举例:一个8s长的pag文件需要循环播放3~6s,将PAGFile添加到PAGComposition后,设置PAGFile的startTime为-3000000,duration为6000000

变速播放:首先设置 PAGFile.setTimeStretchMode(PAGTimeStretchMode.Scale),然后通过 PAGFile.setDuration() 接口设置你想变速后播放的时长即可,设置比原始更长时间是慢速播放,设置更短时间是快速播放。

解决

pagFile.setDuration(2000000L)

结论

推测可能是Pag动画内部用的时间单位不是毫秒,可能是微秒

猜你喜欢

转载自blog.csdn.net/yztbydh/article/details/131104997