`

Android中Tween动画和Frame动画实例

 
阅读更多

Animation主要有两种动画模式:Tween动画和Frame动画

Tween动画由四种类型组成

alpha 渐变透明度动画效果
scale 渐变尺寸伸缩动画效果
translate 画面转换位置移动动画效果
rotate 画面转移旋转动画效果

 

 

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
	<!-- 透明 -->
	<alpha
		android:fromAlpha="1"
		android:toAlpha="0" 
		android:duration="3000"
		/>
	<!-- 旋转 -->
	<rotate
		android:fromDegrees="0"
		android:toDegrees="360"
		android:pivotX="50%"
		android:pivotY="50%" 
		android:duration="3000" 
		/>
	<!-- 缩放 -->
	<scale
        android:fromXScale="1" 
        android:fromYScale="1" 
        android:toXScale="3" 
        android:toYScale="3" 
        android:pivotX="0"
        android:pivotY="0"
        android:duration="3000" 
        />
	<!-- 移动 -->
	<translate
        android:fromXDelta="0"
        android:fromYDelta="0"
        android:toXDelta="50%p"
        android:toYDelta="50%p" 
		android:duration="3000" 
        />
</set>

 

 

以上每个动画效果可放在不同的xml文件中已方便查看效果

 

下边是Activity中调用动画

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		imageView = (ImageView) findViewById(R.id.img);
	}

	public void onClick(View view) {
		Animation animation = null;
		switch (view.getId()) {
			case R.id.alpha:
				animation = AnimationUtils.loadAnimation(this, R.anim.alpha);
				break;
			case R.id.scale:
				animation = AnimationUtils.loadAnimation(this, R.anim.scale);
				break;
			case R.id.translate:
				animation = AnimationUtils.loadAnimation(this, R.anim.translate);
				break;
			case R.id.rotate:
				//animation = AnimationUtils.loadAnimation(this, R.anim.rotate);
				//令一种方式JavaCode中 创建RotateAnimation
				animation = new RotateAnimation(0, 180, RotateAnimation.RELATIVE_TO_SELF, 0.5f, RotateAnimation.RELATIVE_TO_SELF, 0.5f);
				animation.setDuration(3000);
				break;
			case R.id.all:
				animation = AnimationUtils.loadAnimation(this, R.anim.Tween);
				break;
		}
		//启动动画
		imageView.startAnimation(animation);
	}

 

Tween动画由四种类型组成

帧动画是有多张图片组成,多张图片循环。

示例:

<?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/p1" android:duration="200" />
    <item android:drawable="@drawable/p2" android:duration="200" />
    <item android:drawable="@drawable/p3" android:duration="200" />
    <item android:drawable="@drawable/p4" android:duration="200" />
    <item android:drawable="@drawable/p5" android:duration="200" />
    <item android:drawable="@drawable/p6" android:duration="200" />
    <item android:drawable="@drawable/p7" android:duration="800" />
    <item android:drawable="@drawable/p8" android:duration="200" />
    <item android:drawable="@drawable/p9" android:duration="200" />
    <item android:drawable="@drawable/p10" android:duration="200" />
    <item android:drawable="@drawable/p11" android:duration="200" />
</animation-list>

 

	public void go(View view) {
		// 获取ImageView
		ImageView imageView = (ImageView) view;
		// 获取ImageView上面的动画图片
		AnimationDrawable drawable = (AnimationDrawable) imageView.getDrawable();
		// 动画开始
		drawable.start();
	}

 

0
0
分享到:
评论

相关推荐

    Android编程中Tween动画和Frame动画实例分析

    本文将深入探讨两种主要的动画类型:Tween动画和Frame动画,以及如何在实际应用中实现它们。 首先,Tween动画(平滑动画)是Android中最基础的动画形式,它允许你在一段时间内改变一个View对象的属性,如位置、大小...

    Android Frame动画

    在Android开发中,帧动画(Frame Animation)是一种常见的动态效果实现方式,尤其在用户界面设计中,能够增加应用的互动性和吸引力。帧动画是通过连续播放一系列静态图像来创建动态效果,类似于传统的电影制作原理。...

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

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

    Android 抖动动画效果

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

    Android Animation Frame逐帧动画

    在Activity或View中使用Frame动画,首先需要实例化一个`AnimationDrawable`对象,并将其设置为某个View的背景。然后调用`start()`方法启动动画: ```java ImageView imageView = findViewById(R.id.imageView); ...

    Android Tween动画之RotateAnimation实现图片不停旋转效果实例介绍

    本文分析 Tween动画的rotate实现旋转效果。 在新浪微博客户端中各个操作进行中时activity的右上角都会有个不停旋转的图标,类似刷新的效果,给用户以操作中的提示。这种非模态的提示方式推荐使用,那么下面就分享下...

    Android Animation Frame逐帧动画2

    在Android中,我们可以使用`AnimationDrawable`类来实现Frame动画。 **实现方式:** 1. **XML方式**:通常在res/anim目录下创建一个xml文件,定义帧的顺序、持续时间和重复行为。例如,可以设置`&lt;animation-list&gt;`...

    Android TweenAnimation源码

    TweenAnimation是Android SDK中提供的一种基础动画类型,它基于帧动画(Frame Animation)的概念,通过平移、旋转、缩放和改变透明度等属性来实现对象的变化效果。让我们深入探索Android TweenAnimation的源码,了解...

    Android动画效果的强悍框架

    Android支持两种主要的动画机制:补间动画(Tween Animation)和帧动画(Frame Animation)。补间动画用于改变视图的位置、大小、透明度等属性,它通过在一段时间内平滑地改变这些属性来创建动画效果。帧动画则类似...

    Android 动画类实例

    以下将详细介绍Android动画体系,包括补间动画(Tween Animation)、帧动画(Frame Animation)以及属性动画(Property Animation)。 一、补间动画 补间动画是Android SDK早期提供的动画机制,通过改变对象在一定...

    Android圆形向外扩散颜色渐浅动画

    Android提供了多种动画类型,包括补间动画(Tween Animation)和帧动画(Frame Animation)。对于这个案例,我们主要关注补间动画,因为它可以实现颜色变化和形状变换的效果。 1. **补间动画**: 补间动画是通过...

    android逐帧动画

    视图动画包括补间动画(Tween Animation)和逐帧动画(Frame Animation)。本例涉及的是逐帧动画,它通过显示一系列的静态图像来创建动态效果。 逐帧动画的实现通常涉及到以下几个关键步骤: 1. **创建资源文件**...

    Android雷达波纹动画(可做地图或者倒计时)

    Android提供了多种类型的动画,包括补间动画(Tween Animation)、帧动画(Frame Animation)以及属性动画(Property Animation)。在本例中,我们将重点讨论属性动画,因为它更灵活,可以对视图的各种属性进行平滑...

    android人物行走动画(演示)

    视图动画包括补间动画(Tween Animation)和帧动画(Frame Animation),其中帧动画更适合制作连续的图像序列动画,如人物行走。 帧动画是通过一系列连续的静态图像来创建动画效果,类似于传统的电影胶片。在...

    Android - 动画实例之实现Google+滑动Listview让底部bar隐藏

    这篇博客"Android - 动画实例之实现Google+滑动Listview让底部bar隐藏"详细介绍了如何通过编程技术模仿Google+应用中的一个特色交互:当用户向上滑动ListView时,底部导航栏会逐渐隐藏,向下滑动时则逐渐显示。...

    Android-一个App的Logo的动画效果实现

    Android支持多种动画类型,包括属性动画(Property Animation)、帧动画(Frame Animation)和视图动画(View Animation)。Logo动画通常适合使用属性动画,因为它提供了更丰富的控制和灵活性。在"QccLogo-...

Global site tag (gtag.js) - Google Analytics