`

Android AnimationDrawable动画实例

 
阅读更多
1、定义animation_list.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/play_music_01" android:duration="300" />
    <item android:drawable="@drawable/play_music_02" android:duration="300" />
    <item android:drawable="@drawable/play_music_03" android:duration="300" />
    <item android:drawable="@drawable/play_music_04" android:duration="300" />
    <item android:drawable="@drawable/play_music_05" android:duration="300" />
</animation-list>


注:素材见附件;

2、定义配置文件
    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

3、使用

import android.app.Activity;
import android.graphics.Color;
import android.graphics.drawable.AnimationDrawable;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;

public class MainActivity extends Activity implements OnClickListener {
	private AnimationDrawable animationDrawable;
	private ImageView imageView;
	private boolean isPaly = false;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		
		imageView =(ImageView) findViewById(R.id.imageView);
		imageView.setImageResource(R.drawable.bottom_bar_play_icon_normal);
		imageView.setOnClickListener(this);
	}

	@Override
	public void onClick(View v) {
		switch (v.getId()) {
		case R.id.imageView:
			if(isPaly){
				isPaly = false;
				animationDrawable.stop();
				imageView.setBackgroundDrawable(new ColorDrawable(Color.argb(0, 0, 0, 0)));
				imageView.setImageResource(R.drawable.bottom_bar_play_icon_normal);
			}else{
				isPaly = true;
				imageView.setBackgroundResource(R.anim.animation_list);
				animationDrawable =(AnimationDrawable) imageView.getBackground();
				animationDrawable.start();
				imageView.setImageDrawable(new ColorDrawable(Color.argb(0, 0, 0, 0)));
			}
			break;
		}
	}
}


0
1
分享到:
评论

相关推荐

    AnimationDrawable动画

    `AnimationDrawable`是Android系统提供的一种帧动画实现方式,它允许开发者将一系列的静态图片串连起来,形成连续播放的效果,类似于我们常见的GIF图像。本篇文章将深入探讨如何使用`AnimationDrawable`来创建动态的...

    android各类动画实例源码

    "android各类动画实例源码"这个DEMO正是为了帮助初学者理解和实践Android动画机制而设计的。下面,我们将深入探讨其中涉及的五种基本动画类型:位移(Translate)、透明度(Alpha)、逐帧(Frame)、缩放(Scale)...

    Android播放动画之使用AnimationDrawable播放帧动画工程

    使用系统带的AnimationDrawable类来播放动画必须将你需要播放的动画打成一帧一帧的图片保存起来,然后在xml文件中表示出每帧图片,这样就可以提前将资源图片加载内存中了。...

    Android 动画实例(包含帧动画、补间动画、属性动画)

    本文将深入探讨Android中的帧动画、补间动画以及属性动画这三种主要的动画类型,并通过具体实例进行详细解析。 一、帧动画(Frame Animation) 帧动画是通过显示一系列连续的静态图像来创建动态效果的方法,类似于...

    Android 动画类实例

    在Android中,我们使用`AnimationDrawable`类来实现帧动画。首先,你需要在res/drawable目录下创建一个XML文件,定义每一帧图片及它们的持续时间。然后,将这个XML文件设置为某个View的背景,通过调用`start()`方法...

    Android中AnimationDrawable使用的简单实例

    本实例将详细解释如何在Android中使用`AnimationDrawable`,并提供一个简单的应用示例。 首先,我们需要在项目的`res/drawable`目录下创建一个XML文件来定义动画。XML文件的根元素是`&lt;animation-list&gt;`,它包含了...

    Android 动画工程实例(Demo)

    "Android 动画工程实例(Demo)" 提供了一个实践平台,帮助开发者深入理解和掌握Android动画的开发技术。在这个Demo中,我们可以看到一个名为"Triangle"的示例,很可能是通过动画展示一个三角形的变化过程,如旋转、...

    android 录音 动画

    在Android平台上,录音功能是通过MediaRecorder类实现的,而动画效果则主要依赖于View的动画API。在“android 录音 动画”这个场景中,我们需要关注以下几个关键知识点: 1. **MediaRecorder**: 这是Android SDK...

    Android数百种动画效果源码

    - 视图动画是早期Android版本的主要动画机制,主要基于`Animation`类和`AnimationDrawable`。 - `TranslateAnimation`、`RotateAnimation`、`ScaleAnimation`和`AlphaAnimation`分别用于移动、旋转、缩放和透明度...

    android礼物动画特效DEMO

    综上所述,"android礼物动画特效DEMO"是一个展示如何在Android直播应用中实现礼物动画的实例。通过学习这个DEMO,开发者可以了解到如何结合帧动画和属性动画,以及如何进行动画的组合与优化,从而为自己的应用增添...

    Android_动画框架基本原理详解.doc

    在代码中,我们可以创建`RotateAnimation`实例,设置起始角度和结束角度,以及动画的时长和插值器。例如,在清单1的代码中,TextView 在按钮被点击时会进行360度的旋转,动画时长为3000毫秒,并使用`...

    Android AnimationDemo_DrawableAnimation帧动画

    4. **启动和控制动画**:在Java代码中,你需要获取到`AnimationDrawable`实例并启动或停止动画: ```java ImageView animationView = findViewById(R.id.animation_view); AnimationDrawable animation = ...

    anddroid的amination动画实例

    本实例主要关注`android amination`,我们将深入探讨Android中的动画系统,并通过具体的例子来学习如何创建和使用它们。 一、Android帧动画 帧动画是基于一系列连续图像形成的动画效果,类似于传统的电影胶片。在...

    android 酷炫鱼动画

    "android 酷炫鱼动画"是一个典型的实例,展示了如何在Android平台上实现生动有趣的视觉效果。在这个项目中,开发者使用了帧动画、平移动画和旋转动画来模拟鱼在水中的动态行为,从而带给用户一种沉浸式的体验。 帧...

    android 逐帧动画

    4. **启动动画**: 在代码中,获取到`AnimationDrawable`实例,并调用`start()`方法启动动画。 ```java ImageView imageView = findViewById(R.id.animation_view); AnimationDrawable animation = ...

    android人物行走动画(演示)

    在这个实例中,我们可能涉及到的是视图动画,因为它主要应用于API 11及以下版本,如SDK 2.2。视图动画包括补间动画(Tween Animation)和帧动画(Frame Animation),其中帧动画更适合制作连续的图像序列动画,如...

    Android 逐帧动画源码.zip

    "Android 逐帧动画源码.zip" 提供了一个项目实例,帮助开发者深入理解这一技术。这个压缩包内包含了实现逐帧动画的全部源代码,是学习和参考的理想资源。 在Android中,逐帧动画主要通过`Animation`类的子类`Frame...

    Android 动画框架详解第 1 部分

    在Android平台上,动画框架是开发者实现丰富用户交互和视觉效果的重要工具。Android提供了两种主要...在第二部分实例篇中,我们将更深入地探讨如何实际应用这些动画原理,通过具体的案例来展示Android动画的实现过程。

    Android 动画 Animation Demo

    `AnimationDrawable`是实现帧动画的主要类,`AnimationDemo`可能包含了如何配置和启动帧动画的代码示例。 4. **过渡动画(Transition Animation)**:API Level 16引入,过渡动画主要用于Activity之间的切换,提供...

Global site tag (gtag.js) - Google Analytics