安卓动画详解——帧动画

安卓动画框架

  • 逐帧动画(Frame Animation):原理就是将一个完整的动画拆成一张张图片,然后将其连贯起来播放。类似动画片。帧动画具有非常大的灵活性,几乎可以表现任何想表现的内容,很适合表现细腻的动画。
  • 补间动画(tweened animation):它提供了AlphaAnimation,RotateAnimation,TranslateAnimation,ScaleAnimation四种动画方式,并提供了AnimationSet动画集合,混合使用多种动画集合。
  • 属性动画(Property Animation):在android 3.0之前已有的动画框架存在一些局限性,动画改变的只是显示,并不能响应事件,所以Google推出了属性动画这样一个新的框架,帮助开发者实现更加丰富的动画效果。

逐帧动画使用步骤:

  1. 添加图片素材
    这里写图片描述

  2. 动画布局文件 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>
  1. 代码部分
ImageView iv= (ImageView) findViewById(R.id.iv);
        AnimationDrawable animationDrawable=(AnimationDrawable)iv.getBackground();
        animationDrawable.start();

你可能感兴趣的:(动画)