首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在android(Java)中设置lottiefiles动画的循环数?

问如何在android(Java)中设置lottiefiles动画的循环数?
EN

Stack Overflow用户
提问于 2019-07-18 05:48:24
回答 4查看 11.5K关注 0票数 7

我正面临一个问题,使用乐天文件作为动画。我不能设置循环号,而加载后,它是循环的,但我想设置固定的循环号码。

活动XML

代码语言:javascript
复制
 <com.airbnb.lottie.LottieAnimationView
        android:layout_centerInParent="true"
        android:id="@+id/animation_view_1"
        android:layout_width="150dp"
        android:layout_height="150dp"
        app:lottie_autoPlay="true"
        app:lottie_loop="true" />

活动Java

代码语言:javascript
复制
animationView.setVisibility(View.VISIBLE);
        animationView.setAnimation(fileName);
        animationView.loop(true);
        animationView.playAnimation();
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-07-18 06:15:34

因为animationView.loop(true);被废弃了。除了之外,使用.xml文件

代码语言:javascript
复制
<com.airbnb.lottie.LottieAnimationView
        ...
        app:lottie_repeatCount="3"
        />

使用java您可以使用

代码语言:javascript
复制
animationView.setRepeatCount(LottieDrawable.INFINITE);// for Infinite loops

或

代码语言:javascript
复制
animationView.setRepeatCount(3);// for 3 loops
票数 13
EN

Stack Overflow用户

发布于 2019-07-18 05:58:26

试一试

代码语言:javascript
复制
<com.airbnb.lottie.LottieAnimationView
        ...
        app:lottie_repeatCount="3"
        />
票数 6
EN

Stack Overflow用户

发布于 2022-09-03 22:41:38

如果您使用jetpack,请撰写:

  1. 从资源中获取lottie组合:
代码语言:javascript
复制
// Get lottie composition
val composition by rememberLottieComposition(LottieCompositionSpec.RawRes(R.raw.idea_anim))
  1. 为组合创建动画状态,设置迭代次数使用iterations = 3,无限大使用iterations = LottieConstants.IterateForever
代码语言:javascript
复制
// State of animation for composition
val progress by animateLottieCompositionAsState(
    composition = composition,
    iterations = LottieConstants.IterateForever
)
  1. 创建可组合的LottieAnimation:
代码语言:javascript
复制
LottieAnimation(
    composition = composition,
    progress = { progress }
)

完整代码:

代码语言:javascript
复制
@Composable
fun AnyScreen() {
    // Get lottie composition
    val composition by rememberLottieComposition(LottieCompositionSpec.RawRes(R.raw.idea_anim))

    // State of animation for composition
    val progress by animateLottieCompositionAsState(
        composition = composition,
        iterations = LottieConstants.IterateForever
    )

    LottieAnimation(
        composition = composition,
        progress = { progress }
    )
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57087853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档