`

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动画实例分析

    主要介绍了Android编程中Tween动画和Frame动画,结合实例形式较为详细的分析了Android中Tween动画和Frame动画的相关实现技巧,需要的朋友可以参考下

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

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

    Android动画之补间动画(Tween Animation)实例详解

    前面讲了《Android动画之逐帧动画(Frame Animation)》,今天就来详细讲解一下Tween动画的使用。 同样,在开始实例演示之前,先引用官方文档中的一段话: Tween动画是操作某个控件让其展现出旋转、渐变、移动、缩放的...

    详解Android动画之TweenAnimation

    前面讲了动画中的Frame动画,今天就来详细讲解一下Tween动画的使用。同样,在开始实例演示之前,先引用官方文档中的一段话:Tween动画是操作某个控件让其展现出旋转、渐变、移动、缩放的这么一种转换过程,我们成为...

    Android动画之渐变动画(Tween Animation)详解 (渐变、缩放、位移、旋转)

    一类是Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转、平移、放缩和渐变)。 第二类就是 Frame动画,即顺序的播放事先做好的图像,与gif图片原理类似。 下面就讲一下Tweene Animations。 ...

    Android动画 实现开关按钮动画(属性动画之平移动画)实例代码

    另外说到动画,在Android里面支持3种动画: 逐帧动画(Frame Animation)、补间动画(Tween Animation)和属性动画(Property Animation),至于这几种动画的区别这里不再介绍,希望开发者都能在使用的过程中体会两者的...

    Android实例代码

    7.4、逐帧(Frame)动画:AnimationDrawable; 7.5、补间(Tween)动画:Interpolator; 位置、大小、旋转度、透明度; 7.6、使用SurfaceView实现动画: 第8章、Android的数据存储和IO 8.1、使用SharedPreferences:...

    android开发揭秘PDF

    5.3.1 Tween动画 5.3.2 Frame动画 5.3.3 GIF动画播放 5.4 小结 第6章 Android数据存储 6.1 Android数据存储初探 6.2 数据存储之Shared Preferences 6.3 数据存储之Files 6.4 数据存储之Network 6.5 Android数据库...

    《Android应用开发揭秘》附带光盘代码.

     5.3.2 Frame动画  5.3.3 GIF动画播放  5.4 小结  第6章 Android数据存储  6.1 Android数据存储初探  6.2 数据存储之Shared Preferences  6.3 数据存储之Files  6.4 数据存储之Network  6.5 Android数据库...

    《Android应用开发揭秘》源码

     5.3.2 Frame动画  5.3.3 GIF动画播放  5.4 小结  第6章 Android数据存储  6.1 Android数据存储初探  6.2 数据存储之Shared Preferences  6.3 数据存储之Files  6.4 数据存储之Network  6.5 Android数据库...

    Android应用开发揭秘pdf高清版

    5.3.1 Tween动画 5.3.2 Frame动画 5.3.3 GIF动画播放 5.4 小结 第6章 Android数据存储 6.1 Android数据存储初探 6.2 数据存储之Shared Preferences 6.3 数据存储之Files 6.4 数据存储之Network 6.5 Android数据库...

    疯狂Android讲义源码

     7.5.1 Tween动画与Interpolator 292  7.5.2 位置、大小、旋转度、透明度  改变的补间动画 293  7.5.3 自定义补间动画 298  7.6 使用SurfaceView实现动画 300  7.6.1 SurfaceView的绘图机制 301  7.7 本章小...

Global site tag (gtag.js) - Google Analytics