Android 2D Frame动画
来源:互联网 发布:sm4密码算法.pdf 编辑:程序博客网 时间:2024/05/17 23:07
Frame动画其实就是逐帧动画,用法也比Tween动画简单,只需要创建一个AnimationDrawable对象来表示Frame动画,然后通过addFrame方法把每一帧要显示的内容加进去就行了,最后通过start方法就可以播放这个动画了,通过还可以使用
setOneShot()方法来设置动画是否重复播放。
再这里,还需要设置图片的所在位置,首先要在res/anim目录下创建一个xml配置文件,用于存放图片资源的索引,配置的是
一个以<animation-list>根原素和<item>子元素
下面用3种方式来实现这个Frame动画
FramesActivity.java
setOneShot()方法来设置动画是否重复播放。
再这里,还需要设置图片的所在位置,首先要在res/anim目录下创建一个xml配置文件,用于存放图片资源的索引,配置的是
一个以<animation-list>根原素和<item>子元素
下面用3种方式来实现这个Frame动画
第一种:直接继承Activity,使用<animation-list>列表来实现
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"><TextViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:text="逐帧动画"/><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><Buttonandroid:id="@+id/start"android:layout_width="150dp"android:layout_height="wrap_content"android:text="开始播放动画"/><Buttonandroid:id="@+id/stop"android:layout_width="150dp"android:layout_height="wrap_content"android:text="停止播放动画"/></LinearLayout><ImageViewandroid:id="@+id/imgview"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:background="@anim/birthday"/></LinearLayout>res/anim/birthday.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="@drawable/birthday1" android:duration="300"/><item android:drawable="@drawable/birthday2" android:duration="300"/><item android:drawable="@drawable/birthday3" android:duration="300"/><item android:drawable="@drawable/birthday4" android:duration="300"/><item android:drawable="@drawable/birthday5" android:duration="300"/><item android:drawable="@drawable/birthday6" android:duration="300"/><item android:drawable="@drawable/birthday7" android:duration="300"/><item android:drawable="@drawable/birthday8" android:duration="300"/><item android:drawable="@drawable/birthday9" android:duration="300"/></animation-list>
FramesActivity.java
package eoe.frames;import android.app.Activity;import android.graphics.drawable.AnimationDrawable;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.ImageView;public class FramesActivity extends Activity {private AnimationDrawable frameanim;private Button start,stop;private ImageView img;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);img = (ImageView)findViewById(R.id.imgview);start = (Button)findViewById(R.id.start);stop = (Button)findViewById(R.id.stop);//获得背景色,并转换为AnimationDrawable对象frameanim = (AnimationDrawable)img.getBackground();//为按钮添加监听事件start.setOnClickListener(new Button.OnClickListener(){@Overridepublic void onClick(View v) {//开始动画frameanim.start();}});stop.setOnClickListener(new Button.OnClickListener(){@Overridepublic void onClick(View v) {// 停止动画frameanim.stop();}});}}
- Android 2D Frame动画
- 玩转Android---2D图形及动画---Frame动画
- Pro Android学习笔记(一零六):2D动画(1):frame by frame
- Android:动画:Frame动画
- android tween、frame动画
- Android --- Frame动画示例
- Android动画--Frame Animation
- android Frame动画
- Android---Frame动画
- Android Frame动画
- Android Frame动画实例
- android-Frame动画
- Android[动画] Frame Animation
- android动画-Frame Animation
- android动画-Frame Animation
- Android 逐帧(Frame)动画
- Android Frame动画
- android Frame帧动画
- Tortoise HG的加密
- cocos2d-x如何实现复制粘贴的简单设想
- 程序员——static 关键字以及什么时候使用
- File,DiskFileItemFactory,ServletFileUpload
- Interface to x86/64's high resolution time counter
- Android 2D Frame动画
- Redis 起步
- My97DatePicker在Frame中无法打开站点
- 数据库查询优化原则
- 帮助:磁带库卷带失败问题,有熟悉的人帮忙看一下,一起学习
- js刷新页面
- Java多线程(上)
- Hibernate:java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to co
- android滑屏切换界面