首页 > 解决方案 > 如何在原始目录中调用多个动画之一

问题描述

我正在尝试使用随机数生成器在 10 个不同的动画之一之间进行选择,以使用 Lottie 实现运行。我将动画命名为animation1 到animation10。当直接输入这样的动画之一时没有问题:

animationView.setAnimation(R.raw.animation2);

但是当像这样输入它时应用程序不断崩溃:

LottieAnimationView animationView = findViewById(R.id.animationViewer);
randNumber = rand.nextInt(10) + 1;

animationView.setAnimation("R.raw.animation" + randNumber);

原因是:

Caused by: java.io.FileNotFoundException: R.raw.animation2

标签: javaandroidandroid-studiolottie

解决方案


您不能这样做,因为setAnimation()需要 ResID 而不是字符串。

相反,您可以使用Array这样的

<integer-array name="animations">
    <item>@anim/animation1</item>
    <item>@anim/animation2</item>
</integer-array>

然后,您可以使用您的随机数。


推荐阅读