LottieAnimation не работает во фрагменте

У меня есть звездная анимация для оценки, и я создал три таких LottieAnimationView внутри своего фрагмента с целью повторного использования. LottieAnimation даже не запускается, когда я запускаю его из метода onCreate() моего фрагмента (я использую фрагменты поддержки). Тот же самый код запускает анимацию, если она находится внутри 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();
        }
    });

person StonksMan9000    schedule 24.07.2018    source источник
comment
То же самое здесь с использованием AndroidX, FragmentActivity и ViewPager2   -  person Duna    schedule 11.06.2020


Ответы (1)


Убедитесь, что вы установили просмотр изображения на isClickable = true и isFocusable = true в xml.

Запустите анимацию лотереи, используя метод lottieView.playAnimation();, а для снятия щелчка попробуйте это

if(lottieTest.getFrame() == lottieTest.getMaxFrame()) {
   lottieTest.setFrame(1);
}
person BroomToon    schedule 27.09.2018