在Android中,分别可以在xml中定义Animation,也可以在程序代码中定义,下面的小例子是利用RotateAnimation简单展示一下两种方法的用法,对于其他动画,如ScaleAnimation,AlphaAnimation,原理是一样的。
方法一:在xml中定义动画:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromDegrees="0"
android:toDegrees="+360"
android:duration="3000" />
<!-- rotate 旋转动画效果
属性:interpolator 指定一个动画的插入器,用来控制动画的速度变化
fromDegrees 属性为动画起始时物件的角度
toDegrees 属性为动画结束时物件旋转的角度,+代表顺时针
duration 属性为动画持续时间,以毫秒为单位
-->
</set>
使用动画的Java代码,程序的效果是点击按钮,TextView旋转一周:
package com.ray.animation;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.TextView;
public class TestAnimation extends Activity implements OnClickListener{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn = (Button)findViewById(R.id.Button01);
btn.setOnClickListener(this);
}
@Override
public void onClick(View v) {
Animation anim = AnimationUtils.loadAnimation(this, R.anim.my_rotate_action);
findViewById(R.id.TextView01).startAnimation(anim);
}
}
方法二:直接在代码中定义动画(效果跟方法一类似):
package com.ray.animation;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.AccelerateDecelerateInterpolator;
import android.view.animation.Animation;
import android.view.animation.RotateAnimation;
import android.widget.Button;
public class TestAnimation extends Activity implements OnClickListener{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn = (Button)findViewById(R.id.Button);
btn.setOnClickListener(this);
}
public void onClick(View v) {
Animation anim = null;
anim = new RotateAnimation(0.0f,+360.0f);
anim.setInterpolator(new AccelerateDecelerateInterpolator());
anim.setDuration(3000);
findViewById(R.id.TextView01).startAnimation(anim);
}
}
分享到:
相关推荐
Android提供了两种主要的动画类型:帧动画和补间动画,这两种动画各有特点,适用于不同的场景。 **帧动画**是基于一系列连续图像播放来创建动画效果的方法。这类似于传统的卡通制作,每一帧都是一张独立的图片。在...
Android提供了两种基础的动画类型:`Tween Animation`(补间动画)和`Frame Animation`(帧动画)。 - **Tween Animation**:用于改变View的位置、大小、透明度等属性,通过指定起始值和结束值,在一定时间内平滑...
本文将深入探讨两种主要的Android动画类型:Tween Animation(平滑动画)和Property Animation(属性动画)。这两种技术都能为应用程序带来生动和交互性的效果,但它们的工作原理和应用场景有所不同。 **Tween ...
在Android中,`Animation`分为两种类型:补间动画(Tween Animation)和帧动画(Frame Animation)。补间动画主要用于对象的平移、旋转、缩放和透明度变化等视觉效果,而帧动画则类似于播放一系列静态图像,常用于...
本篇文章将详细探讨如何在Android应用程序中使用ViewFlipper以及如何实现动画效果。 首先,我们需要了解ViewFlipper的基本概念。ViewFlipper是LinearLayout的子类,它可以包含多个子视图,并在需要时显示其中一个。...
Android提供了两种主要的动画机制:补间动画(Tween Animation)和逐帧动画(Frame Animation),这两种动画方式都能帮助开发者创造出丰富多彩的视觉效果。 **补间动画(Tween Animation)** 补间动画主要用于改变...
Android动画主要分为两种类型:属性动画(Property Animation)和视图动画(View Animation)。本篇将深入探讨这两种动画机制,以及如何在实际项目中应用它们。 1. **视图动画(View Animation)**:视图动画是...
本压缩包"Android代码-View中添加Animation.zip"可能包含了如何在Android应用的`View`中添加这两种动画的相关代码示例。 **视图动画(View Animation)** 视图动画是Android早期版本(API Level 11及以下)中使用...
Android提供了两种主要类型的动画:补间动画(Tween Animation)和帧动画(Frame Animation)。补间动画用于改变视图的位置、大小、旋转和透明度等属性,而帧动画则类似于GIF图片,按照预设顺序播放一系列静态图像。...
本文将深入探讨Android中的两种主要动画类型:Tween Animation(补间动画)和Activity Animation,并通过实例讲解如何实现它们。 **1. Tween Animation(补间动画)** 补间动画主要用于对象属性的变化,如大小、...
属性动画(Property Animation)是Android 3.0(API级别11)引入的一种强大的动画系统,它极大地扩展了Android平台上的动画能力,使得开发者能够实现更为复杂和流畅的动态效果。本篇文章将深入探讨属性动画的概念、...
这两种动画形式能够满足开发者对于基本动画效果的需求。 #### 二、XML中的动画定义 Android动画可以通过XML文件定义,并在运行时通过代码引用这些预定义的动画。以下是一些常见的动画类型及其XML定义: 1. **...
Android提供了两种基本的动画API:`Property Animation`(自Android 3.0 (API level 11) 引入)和`Tween Animation`(自Android 1.0存在)。Tween Animation主要处理对象之间的平滑过渡,包括Alpha(透明度)、...
在Android中,动画主要分为两种类型:属性动画(Property Animation)和视图动画(View Animation)。属性动画系统在API 11及以上版本引入,提供了更强大的功能,可以改变任何对象的任意属性,并且支持帧动画和插值...
在`Android`中,动画主要有两种类型:`Property Animation`(API 11+)和`View Animation`(API 1)。对于早期版本的Android,可以使用`View Animation`中的`AlphaAnimation`、`TranslateAnimation`和`...
首先,Android提供了两种主要类型的视图动画:属性动画(Property Animation)和视图动画(View Animation)。视图动画在API级别8及以下版本中使用较为广泛,主要包括Alpha(透明度)、Translate(平移)、Rotate...
Android Animation主要分为两大类:补间动画(Tween Animation)和帧动画(Frame Animation)。本资源文件主要关注补间动画,这是一种通过改变对象属性(如位置、大小、透明度等)在一段时间内平滑过渡的动画效果。 补...
TweenAnimation是Android SDK中提供的一种基础动画类型,它基于帧动画(Frame Animation)的概念,通过平移、旋转、缩放和改变透明度等属性来实现对象的变化效果。让我们深入探索Android TweenAnimation的源码,了解...