LottieAnimation未在片段内运行

时间:2018-07-24 13:14:13

标签: android-fragments android-activity android-animation lottie lottie-android

我有一个明星动画来给评分,我在片段中创建了三个这样的LottieAnimationViews,以实现可重用性。当我从片段的onCreate()方法内部运行LottieAnimation时,它甚至没有启动(我正在使用支持片段)。如果动画位于Activity内而不是片段内,则运行相同的代码。这是我的代码...

    mLottieStarView1 = findViewById(R.id.rating_lottie_star_1);  //LottieView
    starLayout1 = findViewById(R.id.rating_star_layout_1); //Enclosing LinearLayout
    mValueAnimator1 = ValueAnimator.ofFloat(0f, 1f).setDuration(1500);

    //Create animation update methods
    mValueAnimator1.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {  //Star 1
        @Override
        public void onAnimationUpdate(ValueAnimator valueAnimator) {
            mLottieStarView1.setProgress((Float) valueAnimator.getAnimatedValue());
        }
    });

    //Set listener on enclosing layout to run animation on touch
    starLayout1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            mLottieStarView2.setProgress(0f);
            mLottieStarView3.setProgress(0f);
            mValueAnimator1.start();
        }
    });

1 个答案:

答案 0 :(得分:1)

确保将图像视图设置为isClickable = trueisFocusable = true在xml中。

使用lottieView.playAnimation();方法开始抽奖动画,然后单击取消尝试

if(lottieTest.getFrame() == lottieTest.getMaxFrame()) {
   lottieTest.setFrame(1);
}