Android入门笔记 - 界面开发 - 帧动画

今天来介绍一下Android中的帧动画,帧动画其实就是一张一张的图片,以一定的顺序播放,然后形成动画。

先来上一张效果图:

图中两个按钮,start开始播放动画, stop结束动画,来看看代码:

1. res/ drawable / frame_animation.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/ma1" android:duration="100"></item>
    <item android:drawable="@drawable/ma2" android:duration="200"></item>
    <item android:drawable="@drawable/ma3" android:duration="100"></item>
    <item android:drawable="@drawable/ma4" android:duration="200"></item>
    <item android:drawable="@drawable/ma5" android:duration="100"></item>
    <item android:drawable="@drawable/ma6" android:duration="200"></item>
    <item android:drawable="@drawable/ma7" android:duration="100"></item>
    <item android:drawable="@drawable/ma8" android:duration="200"></item>
</animation-list>

这个就是xml配置帧动画, 每个item就是一帧, oneshot 参数表示 要不要播放一次就结束, false表示一直循环下去

2.  res/ layout/ activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/btn_start"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="start"/>
    <Button
        android:id="@+id/btn_stop"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="stop"/>

    <ImageView
        android:id="@+id/ma_iv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"/>

</LinearLayout>

3. MainActivity.java :

package com.example.demo5_04_frameanimation;

import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.graphics.drawable.AnimationDrawable;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends Activity {
	private AnimationDrawable ad = null;
	ImageView iv;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		iv = (ImageView) findViewById(R.id.ma_iv);
		iv.setImageResource(R.drawable.frame_animation);
		ad = (AnimationDrawable)iv.getDrawable();

		Button btn_start = (Button) findViewById(R.id.btn_start);
		Button btn_stop = (Button) findViewById(R.id.btn_stop);
		btn_start.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				ad.start();
			}
		});
		btn_stop.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				ad.stop();
			}
		});

	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}

MainActivity 中的代码就比较简单了,主要是怎么初始化一个动画。这里使用到了ImageView, 将iv的资源设置成动画,然后 动画资源通过 iv.getDrawable() 来获得,然后用 ad来控制动画的播放停止。很简单,大家看一下就懂了。

时间: 2024-10-10 13:51:35

Android入门笔记 - 界面开发 - 帧动画的相关文章

Android入门笔记 - 界面开发 - TextView,Button,EditText,Toast

今天简单介绍一下android中的控件资源,我们从一个登陆界面开始讲起,先贴代码: 准备工作:先在eclipse中创建一个android项目,我的项目名称是demo_login. (1)在项目文件夹的 res/layout/ 文件目录下打开 activity_main.xml : <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="f

Android入门笔记 - 界面开发 - Animation

今天我们来看看Android中的动画效果,实例比较简单: AlphaAnimation:透明度动画 ScaleAnimation:缩放动画 TranslateAnimation:移动位置动画 RotateAnimation:旋转角度动画 先贴代码: 这个实例完全使用代码实现的,当然也可以使用xml文件实现,我们先来看这个实例: package com.example.demo5_03_animation; import android.os.Bundle; import android.anno

Android研究之游戏开发帧动画实现

 1.帧动画的原理        帧动画帧动画顾名思义,一帧一帧播放的动画就是帧动画. 帧动画和我们小时候看的动画片的原理是一样的,在相同区域快速切换图片给人们呈现一种视觉的假象感觉像是在播放动画,其实不过是N张图片在一帧一帧的切换罢了.对摄像头不清楚的请看Android研究之游戏开发摄像头更新        如图所示:人物行走动画的实现方式, 4帧行走动画在播放区域 一帧一帧向左切换播放 给人们一种播放动画的假象 ,图片就动了起来, 很简单吧,其它三方向播放动画的方法类似我就不再一一举例.

Android入门笔记2——获取传感器列表

? UI界面: ? Xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" an

Android入门笔记1

按钮事件 ? 演示编辑框.文本显示.按钮事件 布局: ? 布局文件: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="m

转Android 用Animation-list实现逐帧动画

Android 用Animation-list实现逐帧动画 第一步:先上图片素材,以下素材放到res/drawable目录下: http://blog.csdn.net/aminfo/article/details/7847761 图片素材: 文件名称: icon1.png icon2.png icon3.png icon4.png icon5.png icon6.png 第二步:上动画Animation-list帧布局文件,有2个,一个是按顺序显示动画,一个是倒序显示动画,文件存放在res/d

Android学习笔记-传感器开发之利用传感器和Tween开发简易指南针

本次我们学习Android传感器的开发,前面已经介绍过了,tween的使用,所以,我们可以结合传感器与tween动画,开发简易的指南针. 首先先介绍一下传感器的相关知识, 在Android应用程序中使用传感器要依赖于android.hardware.SensorEventListener接口.通过该接口可以监听传感器的各种事件.SensorEventListener接口的代码如下: package android.hardware; public interface SensorEventLis

Android 用Animation-list实现逐帧动画 (转载)

转自:http://blog.csdn.net/aminfo/article/details/7847761 第一步:先上图片素材,以下素材放到res/drawable目录下: http://blog.csdn.net/aminfo/article/details/7847761 图片素材:                                      文件名称:icon1.png      icon2.png       icon3.png        icon4.png    

Android入门笔记(一)

第一部分,Android开发环境的搭建 1.去http://www.oracle.com/technetwork/java/javase/downloads/index.html下载最新版本jdk并安装,配置环境变量. 2.去http://www.eclipse.org/downloads/下载最新版本eclipse,并安装. 3.下载android sdk并安装,下载地址 http://pan.baidu.com/s/1i3ggwhn 4.下载ADT并安装,下载地址http://pan.bai