将动画集应用于形状可绘制

时间:2016-06-10 11:46:58

标签: android android-drawable android-vectordrawable android-shapedrawable

我有以下可绘制的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 个答案:

答案 0 :(得分:0)

您可以做的是创建一个简单的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