Я пытаюсь реализовать анимацию с круговым загрузчиком, используя 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 не анимирует - Я уже сделал это