Fram动画实例
Fram动画,即顺序播放时间先做好图像,跟胶卷电影类似。
1把准备的图片放入项目的drawable目录下。
2在项目res目录下创建anim文件夹,在anim文件下定义动画文件,名称可以自定义,如用animation-list在里面设置图片和持续的时间。当然也可以采用编码方式定义动画效果(使用AnimationDrawable类)
3、为view控件绑定动画效果。调用代表动画的AnimationDrawable的star()方法开始启动动画。
下面是实现在imageview里播放一个短的动画,布局文件就一个Imageview控件,就不给出。
1给出文件的结构:
2、drawable下是设定好的播放图片,下面给出girlanimation.xml文件,将oneshot设置为false就会重复播放。
<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> <item android:drawable="@drawable/girl_1" android:duration="100" /> <item android:drawable="@drawable/girl_2" android:duration="100" /> <item android:drawable="@drawable/girl_3" android:duration="100" /> <item android:drawable="@drawable/girl_4" android:duration="100" /> <item android:drawable="@drawable/girl_5" android:duration="100" /> <item android:drawable="@drawable/girl_6" android:duration="100" /> <item android:drawable="@drawable/girl_7" android:duration="100" /> <item android:drawable="@drawable/girl_8" android:duration="100" /> <item android:drawable="@drawable/girl_9" android:duration="100" /> <item android:drawable="@drawable/girl_10" android:duration="100" /> </animation-list>
然后可以在activity里调用:就可以完成上面图片的一张张播放。
public class MainActivity extends ActionBarActivity { private ImageView im; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); im=(ImageView) findViewById(R.id.im); im.setBackgroundResource(R.anim.girlanimation); AnimationDrawable d=(AnimationDrawable) im.getBackground(); d.start(); } }