Animation动画(二)---- Frame 帧动画

来源:互联网 发布:如何把分开的数据整合 编辑:程序博客网 时间:2024/05/21 22:27

Frame 动画 – 帧动画

不断的改变场景实现的动画 ( 一帧一帧的显示 )
在 Java 中使用 AnimationDrawable 对象来管理帧数据

private AnimationDrawable frameAnim;...// 初始化帧动画对象frameAnim = new AnimationDrawable();for (int i = 1; i < 9; i++) {    int id = getResources().getIdentifier("p"+i,"drawable",             getApplication().getPackageName());    // 添加帧数据 (drawable 对象,该帧的显示时间 )    frameAnim.addFrame(getResources().getDrawable(id), 200);}// 是否时一次性frameAnim.setOneShot(false);iv.setImageDrawable(frameAnim);控制开始 / 停止frameAnim.start(); // 开始frameAnim.stop();// 停止

在 XML 中定义 Frame 动画,可以在 res/drawable 文件夹下创建 xml 文件,跟标签使用 animation-list (对应一个 AnimationDrawable 对象)

<?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/p1" android:duration="100"/>    <item android:drawable="@drawable/p2" android:duration="200"/>    <item android:drawable="@drawable/p3" android:duration="300"/>    <item android:drawable="@drawable/p4" android:duration="400"/>    <item android:drawable="@drawable/p5" android:duration="500"/>    <item android:drawable="@drawable/p6" android:duration="400"/>    <item android:drawable="@drawable/p7" android:duration="300"/>    <item android:drawable="@drawable/p8" android:duration="200"/></animation-list>

使用

<ImageView    android:id="@+id/iv"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:src="@drawable/my_frame_anim"/>

Java 中控制

private AnimationDrawable frameAnim;private ImageView iv;...iv = (ImageView) findViewById(R.id.iv);frameAnim = (AnimationDrawable) iv.getDrawable();...

控制开始 / 停止

frameAnim.start(); // 开始frameAnim.stop();// 停止

这里写图片描述

原创粉丝点击