Применить анимацию для рисования фигуры

У меня есть следующий drawable red_dot.xml:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" >
    <solid android:color="#f00" />
    <size
        android:width="30dp"
        android:height="30dp"/>
</shape>

и анимация pulse.xml:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <alpha
        android:fromAlpha="1.0"
        android:toAlpha="0.0"
        android:duration="1000"
        android:repeatMode="reverse"
        android:repeatCount="infinite" />
</set>

Как я могу применить анимацию к рисованному в XML-файле, например, red_dot_animated? Если бы red_dot.xml был векторным файлом, было бы возможно следующее (но это не так, поскольку у нас есть форма)

<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
   android:drawable="@drawable/red_dot_vector" >
     <target
         android:name="circle"
         android:animation="@anim/pulse" />
</animated-vector>

1 ответ

Что вы можете сделать, это создать простой View и установить red_dot в качестве фона и применить animation к этому view

<View
  android:layout_width="30dp"
  android:layout_height="30dp"
  android:background="@drawable/red_dot"
  android:id="@+id/anime_view"
/>

View animeView = findViewById(R.id.anime_view);//Apply animation to animeView
Другие вопросы по тегам