На устройствах Samsung сбой Ripple и Reveal при воспроизведении анимации imageView

Похоже, это происходит только на устройствах Samsung (протестировано на S7 и Tab S2).

Проблема Если воспроизводится какая-либо анимация, все эффекты пульсации и раскрытия диалога останавливаются, останавливаются на полпути или не воспроизводятся вообще.

Например, эта анимация просмотра изображения была запущена:

RotateAnimation anim = new RotateAnimation(0.0f, 360.0f, Animation.RELATIVE_TO_SELF, 0.48f, Animation.RELATIVE_TO_SELF, 0.5f);
anim.setInterpolator(new LinearInterpolator());
anim.setRepeatCount(Animation.INFINITE);
anim.setDuration(2000);

ivStatus.startAnimation(anim);

Затем я нажимаю кнопку в диалоговом окне или запускаю анимацию раскрытия. Анимация либо зависает в случайных точках, либо ужасно заикается. В моем коде некоторые раскрытия являются диалогами, поэтому он блокирует действия пользователя, когда раскрытие диалога останавливается на полпути.

Изменить: это также происходит при использовании progressView такие как com.github.rahatarmanahmed.cpv.CircularProgressView, который оживляет.

Как это можно предотвратить / исправить? Это прекрасно работает на устройствах, не принадлежащих Samsung.

Пример проекта по адресу: https://github.com/behelit/SamsungAnimationFailSample

Изображение ниже имеет замерзшую рябь, в этот момент не происходит касания Пульсация смерти

1 ответ

Решение

Моим решением было приостановить все анимации onPause и возобновить в onResume.

Другие вопросы по тегам