帧动画的原理就是一帧一帧播放的动画就是帧动画
效果图:
用Animation-list实现帧动画 1.在drawable文件夹下创建animation-list文件
<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false" > <!--oneshot 可以不用设置 默认为false,false会不停地循环播放动画 true执行一次 --> <item android:drawable="@drawable/g1" android:duration="100"/> <!--duration 图片展示时间 --> <item android:drawable="@drawable/g1" android:duration="100"/> <item android:drawable="@drawable/g2" android:duration="100"/> <item android:drawable="@drawable/g3" android:duration="100"/> <item android:drawable="@drawable/g4" android:duration="100"/> <item android:drawable="@drawable/g5" android:duration="100"/> <item android:drawable="@drawable/g6" android:duration="100"/> <item android:drawable="@drawable/g7" android:duration="100"/> <item android:drawable="@drawable/g8" android:duration="100"/> <item android:drawable="@drawable/g9" android:duration="100"/> <item android:drawable="@drawable/g10" android:duration="100"/> <item android:drawable="@drawable/g11" android:duration="100"/> </animation-list>animation-list(动画列表),里面由一个或者多个item组成,oneshot属性表示是否只播放一次,true表示只会播放一次,false表示一直循环播放。drawable指定此帧动画所对应的图片资源,druation代表此帧持续的时间,单位为毫秒。
2.xml中的在ImageView中加加载图片 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:id="@+id/iv" android:layout_width="200dp" android:layout_height="200dp" android:background="@drawable/animation_list" /> </LinearLayout>3.开始动画 public class MainActivity extends AppCompatActivity { ImageView imageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView = (ImageView) findViewById(R.id.iv); /**通过控件获取图片*/ AnimationDrawable ad = (AnimationDrawable) imageView.getBackground(); /**开始动画*/ ad.start(); } }