安卓动画框架
- 逐帧动画(Frame Animation):原理就是将一个完整的动画拆成一张张图片,然后将其连贯起来播放。类似动画片。帧动画具有非常大的灵活性,几乎可以表现任何想表现的内容,很适合表现细腻的动画。
- 补间动画(tweened animation):它提供了AlphaAnimation,RotateAnimation,TranslateAnimation,ScaleAnimation四种动画方式,并提供了AnimationSet动画集合,混合使用多种动画集合。
- 属性动画(Property Animation):在android 3.0之前已有的动画框架存在一些局限性,动画改变的只是显示,并不能响应事件,所以Google推出了属性动画这样一个新的框架,帮助开发者实现更加丰富的动画效果。
逐帧动画使用步骤:
添加图片素材
动画布局文件 animation_list.xml
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="true"
>
<item android:drawable="@mipmap/img_1" android:duration="100"></item>
<item android:drawable="@mipmap/img_2" android:duration="100"></item>
<item android:drawable="@mipmap/img_3" android:duration="100"></item>
<item android:drawable="@mipmap/img_4" android:duration="100"></item>
<item android:drawable="@mipmap/img_5" android:duration="100"></item>
</animation-list>
android:duration 表示展示所用的该图片的时间长度。oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画
3. 界面布局文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
>
<ImageView
android:id="@+id/iv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/animation_list"
></ImageView>
</RelativeLayout>
- 代码部分
ImageView iv= (ImageView) findViewById(R.id.iv);
AnimationDrawable animationDrawable=(AnimationDrawable)iv.getBackground();
animationDrawable.start();