У меня есть следующий нарисованный анимированный вектор:
<?xml version="1.0" encoding="utf-8"?>
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/ic_ventilation" >
<target
android:name="fan_group"
android:animation="@animator/fan_rotation_animation" />
</animated-vector>
Он просто анимировал вентилятор с помощью анимации вращения.
Я устанавливаю этот значок в ImageView
и управляю запуском/ остановить анимацию, вызывая следующий метод (только в Lollipop и high):
public void setStopped(boolean stopped) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
this.setImageResource(R.drawable.ic_ventilation_animated);
Drawable drawable = this.getDrawable();
if (drawable instanceof AnimatedVectorDrawableCompat) {
if(stopped) {
((AnimatedVectorDrawableCompat) drawable).stop();
} else {
((AnimatedVectorDrawableCompat) drawable).start();
}
}
}
}
Но я получаю следующее исключение:
android.support.test.espresso.AppNotIdleException: Looped for 3654 iterations over 60 SECONDS. The following Idle Conditions failed .
at dalvik.system.VMStack.getThreadStackTrace(Native Method)
at java.lang.Thread.getStackTrace(Thread.java:580)
at android.support.test.espresso.base.DefaultFailureHandler.getUserFriendlyError(DefaultFailureHandler.java:88)
at android.support.test.espresso.base.DefaultFailureHandler.handle(DefaultFailureHandler.java:51)
at android.support.test.espresso.ViewInteraction.waitForAndHandleInteractionResults(ViewInteraction.java:312)
at android.support.test.espresso.ViewInteraction.desugaredPerform(ViewInteraction.java:173)
at android.support.test.espresso.ViewInteraction.perform(ViewInteraction.java:114)
Я отключил анимацию в меню параметров разработчика,как объяснил здесь .Когда анимация отключена, я вижу, что значок больше не анимируется после вызова ((AnimatedVectorDrawableCompat) drawable).start();
.Однако возникает исключение.
Есть ли проблема при вызове метода ((AnimatedVectorDrawableCompat) drawable).start();
, даже если анимация отключена?Как я могу это исправить, чтобы я мог выполнять свои тесты, не заботясь об анимации?