问题描述
我在我的Android应用中使用随机Lottie动画。我需要知道Lottie动画中使用的帧总数。根据总帧数,我想将动画从第一帧循环到特定帧。例如如果Lottie文件包含60帧,那么我要执行从1到任意数字
我正在使用以下依赖项
implementation 'com.airbnb.android:lottie:3.4.2'
解决方法
使用addLottieOnCompositionLoadedListener
获取彩票的Composition
。
binding.myLottie.addLottieOnCompositionLoadedListener { composition ->
val startFrame = composition.startFrame
val endFrame = composition.endFrame
//will log start/end frame values
Log.d(TAG,"startFrame : $startFrame,endFrame : $endFrame")
}
然后在动画的特定部分使用setMinAndMaxFrame()
binding.myLottie.addLottieOnCompositionLoadedListener { composition ->
val startFrame = composition.startFrame
val endFrame = composition.endFrame
if (maxFrame < endFrame) {
binding.myLottie.setMinAndMaxFrame(1,maxFrame)
}
}
进一步了解here,有关循环播放动画的特定部分。
,您可以在json文件中看到第一帧和最后一帧计数。 ip =第一帧,op:最后一帧。