AnimatedVectorDrawable иногда не анимируется при вводе активности в устройстве Lollipop - PullRequest
0 голосов
/ 30 января 2019

Я пытаюсь реализовать анимацию с круговым загрузчиком, используя AnimatedVectorDrawable

Это код XML для моего AnimatedVectorDrawable:

vector_example.xml

<animated-vector
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt">
<aapt:attr name="android:drawable">
    <vector xmlns:android="http://schemas.android.com/apk/res/android"
        android:width="64dp"
        android:height="64dp"
        android:viewportWidth="600"
        android:viewportHeight="600">
        <group
            android:name="rotationGroup"
            android:pivotX="300"
            android:pivotY="300"
            android:rotation="45.0" >
            <path
                android:name="vectorPath"
                android:fillColor="@color/colorPrimary"
                android:pathData="some path data" />
        </group>

        <!--<group-->
            <!--android:name="stationaryGroup">-->
            <!--<path-->
                <!--android:name="somePath"-->
                <!--android:fillColor="#FFEFEFEF"-->
                <!--android:pathData="some path data"/>-->
        <!--</group>-->
    </vector>
</aapt:attr>
<target android:name="rotationGroup">
    <aapt:attr name="android:animation">
        <objectAnimator
            android:propertyName="rotation"
            android:valueFrom="0"
            android:valueTo="360"
            android:repeatCount="infinite"
            android:duration="1000"
            android:interpolator="@android:interpolator/linear" />
    </aapt:attr>
</target>
</animated-vector>

Проблема, с которой я сталкиваюсь, заключается в том, что на моих новых устройствах она работает нормально, но на моем устройстве Lollipop иногда зависает, когда я вхожу в активность, и вообще не двигается.Когда я повторно захожу в свою деятельность, анимация выглядит так, как будто она немного прогрессировала, но все еще не движется.Время от времени Он будет работать правильно.

Другой Соответствующий код:

Активность

 final ImageView imageView2 = findViewById(R.id.sampleview);
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
        final AnimatedVectorDrawable e = (AnimatedVectorDrawable) getDrawable(R.drawable.vector_example);
        imageView2.setImageDrawable(e);
        e.start();
    } 

build.gradle

vectorDrawables.useSupportLibrary = true

Ссылка:

AnimatedVectorDrawable не анимирует - Я уже сделал это

...