android中的帧动画

本文详细介绍Android中的帧动画实现方法,包括XML定义及代码控制动画播放等,并提供了AnimationDrawable类的相关属性和方法说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于android中的四种补间动画,前面已做过介绍,下面给大家详细介绍一下android中的帧动画 
 

 

Frame Animation实现方法:

 

定义在一XML文件,比如res/anim/anim_example.xml:

 

        <?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/pic01" android:duration="200" />

            <item android:drawable="@drawable/pic02" android:duration="200" />

            <item android:drawable="@drawable/pic03" android:duration="200" />

        </animation-list>

 

代码:

 

        ImageView someView = (ImageView) findViewById(R.id.some_view);

        someView.setBackgroundResource(R.drawable.anim_example);

 

        AnimationDrawable  someAnimation = (AnimationDrawable) someView.getBackground();

        //开始播放动画

        someAnimation .start();

        //停止播放动画

        someAnimation .stop();

 
 
 
 
 
下面,阅读Android SDK中对AnimationDrawable的介绍,有个简单的了解:

AnimationDrawable
获取、设置动画的属性
int getDuration()获取动画的时长
int getNumberOfFrames()获取动画的帧数
boolean isOneShot()
Void setOneShot(boolean oneshot)
获取oneshot属性
设置oneshot属性
void inflate(Resurce r,XmlPullParser p,
AttributeSet attrs)

增加、获取帧动画
Drawable getFrame(int index)获取某帧的Drawable资源
void addFrame(Drawable frame,int duration)为当前动画增加帧(资源,持续时长)
动画控制
void start()开始动画
void run()外界不能直接掉调用,使用start()替代
boolean  isRunning()当前动画是否在运行
void stop()停止当前动画
AnimationDrawable
获取、设置动画的属性
int getDuration()获取动画的时长
int getNumberOfFrames()获取动画的帧数
boolean isOneShot()
Void setOneShot(boolean oneshot)
获取oneshot属性
设置oneshot属性
void inflate(Resurce r,XmlPullParser p,
AttributeSet attrs)

增加、获取帧动画
Drawable getFrame(int index)获取某帧的Drawable资源
void addFrame(Drawable frame,int duration)为当前动画增加帧(资源,持续时长)
动画控制
void start()开始动画
void run()外界不能直接掉调用,使用start()替代
boolean  isRunning()当前动画是否在运行
void stop()停止当前动画

<script type="text/javascript"></script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值