我在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,了解有关循环播放动画的特定部分的更多信息。关于android - 如何获得Lottie动画中可用的总帧数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64040762/