创建android逐帧动画的两种方式

原创 2012年03月21日 08:57:50

1.设置背景方式

a.在res创建一个anim文件夹,该文件夹下创建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="@drawable/c1"
        android:duration="200"/>
    <item
        android:drawable="@drawable/c2"
        android:duration="200"/>
    <item
        android:drawable="@drawable/c3"
        android:duration="200"/>
    <item
        android:drawable="@drawable/c4"
        android:duration="200"/>
    <item
        android:drawable="@drawable/c5"
        android:duration="200"/>
    <item
        android:drawable="@drawable/c6"
        android:duration="200"/>

</animation-list>

b. layout文件

<?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"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:paddingTop="50dp" >
    </ImageView>

    <Button
        android:id="@+id/button2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="Run" 
        android:onClick="run">
    </Button>

</LinearLayout>

c.java代码

protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		this.setContentView(R.layout.contextmenu);
		imageView = (ImageView) findViewById(R.id.imageView1);
		imageView.setBackgroundResource(R.anim.animation_list);
		draw = (AnimationDrawable) imageView.getBackground();
//		draw = (AnimationDrawable) imageView.getDrawable();
	}

public void run(View v) {
		if (draw.isRunning()) {
			draw.stop();
		} else {
			draw.stop();
			draw.start();
		}

	}



2.设置SRC方式

a.在res创建一个anim文件夹,该文件夹下创建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="@drawable/c1"
        android:duration="200"/>
    <item
        android:drawable="@drawable/c2"
        android:duration="200"/>
    <item
        android:drawable="@drawable/c3"
        android:duration="200"/>
    <item
        android:drawable="@drawable/c4"
        android:duration="200"/>
    <item
        android:drawable="@drawable/c5"
        android:duration="200"/>
    <item
        android:drawable="@drawable/c6"
        android:duration="200"/>

</animation-list>

b.layout文件

<?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"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
          android:src="@anim/animation_list"
        android:paddingTop="50dp" >
    </ImageView>

    <Button
        android:id="@+id/button2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="Run" 
        android:onClick="run">
    </Button>

</LinearLayout>

c.layout文件

protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		this.setContentView(R.layout.contextmenu);
		imageView = (ImageView) findViewById(R.id.imageView1);
		imageView.setBackgroundResource(R.anim.animation_list);
//		draw = (AnimationDrawable) imageView.getBackground();
		draw = (AnimationDrawable) imageView.getDrawable();
		registerForContextMenu(text);
	}

public void run(View v) {
		if (draw.isRunning()) {
			draw.stop();
		} else {
			draw.stop();
			draw.start();
		}

	}



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

android 逐帧动画实现 源码

  • 2017年09月14日 09:03
  • 3KB
  • 下载

android逐帧动画

  • 2015年12月28日 16:26
  • 446KB
  • 下载

android之逐帧,补间动画详解。

在android的世界中有三种动画,它们就是逐帧动画,补间动画,属性 动画。接下来我就分别演示下三种动画的简单用法。各动画的定义: 逐帧动画:就是短时间切换图片,让人们肉眼看起来是连续的,其实就是播放...

Android逐帧(Frame)动画

  • 2016年09月10日 16:15
  • 11.51MB
  • 下载

Android下逐帧动画的Demo

  • 2013年12月03日 00:07
  • 5.14MB
  • 下载

Android--逐帧动画FrameAnimation

先来说说什么是逐帧动画,逐帧动画是一种常见的动画形式(Frame By Frame),其原理是在“连续的关键帧”中分解动画动作,也就是在时间轴的每帧上逐帧绘制不同的内容,使其连续播放而成动画。 评...

Android Animation Frame逐帧动画

  • 2014年05月14日 11:31
  • 702KB
  • 下载

Android Animation Frame逐帧动画2

  • 2014年05月14日 11:35
  • 2.05MB
  • 下载

Android逐帧动画

Android有两种动画,一种是tweened animation(渐变动画) ,主要用于控件的,大小缩放,透明度等,另一种是frame by frame(逐帧动画),也就是我今天要讨论的动画。逐帧...

Android逐帧动画的简单使用-语音播放效果的实现

逐帧动画(Frame-By-Frame Animation)原理很简单,即快速切换不同的图片,形成动画效果。Android中逐帧动画的实现方式也很简单,下面以语音播放效果为例说明。 1. 首先准备图片...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:创建android逐帧动画的两种方式
举报原因:
原因补充:

(最多只允许输入30个字)