`
yxwang0615
  • 浏览: 561045 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

android animation动画【学习】

 
阅读更多

 

两种实现方式:

①Tween Animation 。

②Frame Animation是顺序播放事先做好的图像,跟电影类似。

第二种方法相对比较简单,做个demo:

res/anim/loading_anim.xml :

 

 

<?xml version="1.0" encoding="UTF-8"?>

<!-- 使用Frame Animation方式实现动画的格式是:
首先是animation-list根节点,animation-list根节点中包含多个item子节点,每个item节点定义一帧动画 
XML属性及其说明
drawable	              当前帧引用的drawable资源
duration	             当前帧显示的时间(毫秒为单位)
oneshot	                        如果为true,表示动画只播放一次停止在最后一帧上,如果设置为false表示动画循环播放。
variablePadding	 If true, allows the drawable’s padding to change based on the current state that is selected.
visible	                       规定drawable的初始可见性,默认为flase -->

<animation-list android:oneshot="false"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:duration="200" android:drawable="@drawable/loading1" />
    <item android:duration="200" android:drawable="@drawable/loading2" />
    <item android:duration="200" android:drawable="@drawable/loading3" />
    <item android:duration="200" android:drawable="@drawable/loading4" />
    <item android:duration="200" android:drawable="@drawable/loading5" />
    <item android:duration="200" android:drawable="@drawable/loading6" />
    <item android:duration="200" android:drawable="@drawable/loading7" />
    <item android:duration="200" android:drawable="@drawable/loading8" />
</animation-list>

 

 

 WelcomeAct:

 

public class WelcomeAct extends Activity {
	private AnimationDrawable rocketAnimation;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		// 设置登录无标题栏
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.welcome);
//		ProgressBar loading = (ProgressBar)findViewById(R.id.loading);
//		loading.setVisibility(View.VISIBLE);
		
		ImageView rocketImage = (ImageView) findViewById(R.id.loading);
		rocketImage.setBackgroundResource(R.anim.loading_anim); 
		rocketAnimation = (AnimationDrawable)rocketImage.getBackground();
	}
	@Override
	public boolean onTouchEvent(MotionEvent event) {
		if (event.getAction() == MotionEvent.ACTION_DOWN) {
			rocketAnimation.start();
			return true;
			}
		return super.onTouchEvent(event);
	}
}

 

 注意:启动Frame Animation动画的代码rocketAnimation.start();不能在OnCreate()中,因为在OnCreate()中AnimationDrawable还没有完全的与ImageView绑定,在OnCreate()中启动动画,就只能看到第一张图片。

 

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() 停止当前动画

分享到:
评论
1 楼 萧_瑟 2013-08-05  
请问如何直接让它动画,而不是触摸点击了之后?比如程序一启动,它就开始start

相关推荐

    android Animation动画实现loading效果

    在Android开发中,动画(Animation)是提升用户体验和视觉效果的重要工具之一,特别是在创建加载(Loading)效果时。本文将深入探讨如何使用Android Animation来实现动态的Loading效果。 一、Android Animation概述 ...

    Android Animation动画Demo源码.rar

    通过分析这个“Animation动画Demo源码”,我们可以学习到如何在Android应用中创建、组合和控制各种动画,以及如何利用插值器和监听器来实现更精细的动画控制。这些知识对于提升应用的用户体验至关重要,也是Android...

    Android Animation动画资源文件

    Android Animation主要分为两大类:补间动画(Tween Animation)和帧动画(Frame Animation)。本资源文件主要关注补间动画,这是一种通过改变对象属性(如位置、大小、透明度等)在一段时间内平滑过渡的动画效果。 补...

    Android 动画 Animation Demo

    在Android开发中,动画(Animation)是提升用户体验和界面交互性的重要工具。Android动画主要分为两种类型:属性动画(Property Animation)和视图动画(View Animation)。本篇将深入探讨这两种动画机制,以及如何在...

    android动画介绍之 自定义Animation动画

    Android动画分为多种类型,包括`Animation`类(补间动画)、`ViewPropertyAnimator`(属性动画)、以及`Transition`(过渡动画)。在这里,我们主要关注基于`Animation`类的自定义动画,它是Android早期版本中主要的...

    Android-Animation动画之Tween Animation补间动画

    补间动画(Tween Animation)是Android提供的基本动画类型,它通过对对象的透明度、大小、位置或旋转等属性进行平滑过渡来实现视觉效果。本篇文章将深入探讨Android中的Tween Animation,包括其原理、使用方法以及...

    Android Animation学习笔记

    Android Animation的学习涵盖了多种技术,包括属性动画(Property Animation)、视图动画(View Animation)以及过渡动画(Transition Animation)。下面将详细介绍这些概念及其应用。 1. 视图动画(View Animation...

    Android动画源码 Animation

    在Android开发中,动画是提升用户体验的关键因素之一。...开发者可以研究这些源码,了解Android动画系统的内部工作原理,学习如何根据需求定制和组合各种动画效果,从而提高应用的视觉吸引力和交互体验。

    android Animation图片渐变动画 Demo

    首先,"android Animation图片渐变动画"指的是在Android平台上,通过编程方式让图片从一种状态平滑地过渡到另一种状态,这通常涉及到Alpha(透明度)动画、Scale(缩放)动画、Rotate(旋转)或Translate(平移)...

    android animation 动画

    在Android平台上,动画是提升用户体验的关键元素,它可以让应用程序更加生动和吸引人。Android提供了多种动画类型,包括透明度变化、位移、缩放和旋转等。这些效果可以通过`Animation`类及其子类来实现。下面我们将...

    Android Animation Frame逐帧动画2

    在Android开发中,动画是提升用户体验的关键因素之一。Android提供了多种动画类型,其中包括 Tween 补间动画和 Frame 逐帧动画。本篇文章将主要聚焦于Frame动画,这是一种通过连续显示不同帧图片来创建动画效果的...

    Android Animation Demo

    通过`Android Animation Demo`,你可以亲自尝试和学习这些动画,加深对Android动画系统的理解,从而提升应用的视觉效果和用户体验。同时,参考提供的博客文章,会有更多实践经验和技巧等待你去探索。

    Android的动画Animation详解

    ### Android的动画Animation详解 #### 一、动画概述 Android平台提供了丰富的动画支持,通过不同的方式可以实现多种视觉效果,从而提升用户体验。Android动画主要分为两大类:Tween动画(渐变动画)和Frame-by-...

    Android 属性动画(Property Animation)

    Android属性动画(Property Animation)是Android 3.0(API级别11)引入的一个强大功能,它极大地扩展了Android的动画系统,使得开发者能够实现更丰富、更动态的视觉效果。与视图动画(View Animation)不同,属性...

    Android动画效果--渐变动画

    在Android开发中,动画效果是提升用户体验的关键因素之一。渐变动画是Android动画体系中的一种基本类型,它可以为用户界面带来生动和动态的感觉。本文将深入探讨四种主要的渐变动画:Alpha(透明度)、Scale(缩放)...

    Animation动画实例源代码

    本资源“Animation动画实例源代码”提供了一系列详细实例,帮助开发者深入了解和实践Android中的动画技术。这些实例适用于ADT(Android Development Toolkit)版本10及ECLIPSE JUNO开发环境。 Android动画主要包括...

    Android 抖动动画效果

    首先,我们要知道在Android中,动画主要分为两种类型:补间动画(Tween Animation)和帧动画(Frame Animation)。抖动动画属于补间动画的一种,因为它涉及到对象的位置、大小或透明度等属性的变化。补间动画是通过...

    LoadingAnimation 动画 加载动画

    在Android开发中,加载动画...通过学习这个"LoadingAnimation 动画 加载动画"资源,开发者不仅可以了解到加载动画的设计原则,还能掌握不同类型的动画实现方式,并将其应用到实际项目中,提升应用的交互性和用户体验。

    安卓Android源码——(Animation动画).zip

    这份"安卓Android源码——(Animation动画).zip"文件很可能包含了关于这三种动画类型的详细实现和解析。 1. **视图动画(View Animation)**: 视图动画是Android早期版本中提供的动画机制,主要通过`Animation`类...

Global site tag (gtag.js) - Google Analytics