`

Android中两种使用Animation的方法

阅读更多

在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);	
	}
}
11
2
分享到:
评论
2 楼 zhuan0411 2011-09-20  
楼上的怎么可以说"laji”
1 楼 moonguan 2011-03-24  
laji

相关推荐

    Android的动画animation

    Android的动画animation的两种方式,补间动画和逐帧动画都有实现,两种方式的XML实现和JAVACODE实现都有。

    Android的Animation和Activity Animation例子

    android 的动画也是比较常用的技术 主要是tween动画分为Animation和ActivityAnimation两种 适合初学者

    android实现图片闪烁动画效果的两种实现方式(实用性高)

    其实实现这种动画效果有很多种方法,最常见的是两种:第一种就是插入n张图片进行切换已达到如此目的,第二种就是通过改变一张图片的透明度来达到闪烁的效果。下面就分别讲一下通过这两种方法如何实现。 第一种:...

    android 动画(animation)简单特效

    这个是一个简单的动画demo 用两种方式实现:1是xml+android代码;2是全android代码。 目的是帮忙一些朋友理解animation 的使用和学习 demo写的比较的简单。有什么不好的地方也请帮忙批评指出。共同进步

    Animation的基础使用

    这里面介绍了android的两种动画效果,Tween 和 Frame 动画.

    android 动画

    android 3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中又引入了一个新的动画系统:property animation,这三种动画模式在SDK中被称为property animation,view animation,...

    android - 交换控件(relativelayout)位置,LayoutParams与ObjectAnimator两种方法

    现需要交换两个控件(本文中是两个RelativeLayout),找到了两个方法: 1、使用LayoutParams改变两个layout的属性,即其相对关系(below等),实现位置的交换,但是并没有交换的动画效果,是“瞬间”交换。 2、使用...

    Android的三种动画图形编程

    在“演示Android中的文字和图片特效控件的使用”资源中,讲是的TextSwitcher控件、Gallery控件和ImageSwitcher控件的特效实现。而这个资源演示的是android的动画编程,本示例针对图片和ListView控件实现动画。本人...

    android开发资料大全

    Android Wifi方法大全【总有一种方法适合你】 android开发环境搭建篇详尽的教程实例汇 图形图像之图像处理(缩放 旋转 转化) android开发之【腾讯微博android客户端开发】Parameter类和SyncHttp 网友自己写的...

    android属性动画

    3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中又引入了一个新的动画系统:property animation,这三种动画模式在SDK中被称为property animation,view animation,drawable ...

    Android实现图片轮播效果的两种方法

    大家在使用APP的过程中,经常会看到上部banner图片轮播的效果,那么今天我们就一起来学习一下,android中图片轮询的几种实现方法: 第一种:使用动画的方法实现:(代码繁琐) 这种发放需要:两个动画效果,一个布局,...

    Android动画之逐帧动画(Frame Animation)基础学习

    在Android中,动画Animation的实现有两种方式:Tween Animation(补间动画)和Frame Animation(帧动画)。渐变动画是通过对场景里的对象不断做图像变换(平移、缩放、旋转等)产生动画效果。帧动画则是通过顺序播放...

    Android动画之补间动画(Tween Animation)基础学习

    之前说过了在Android中,动画Animation的实现有两种方式:Tween Animation(渐变动画)和Frame Animation(帧动画)。渐变动画是通过对场景里的对象不断做图像变换(平移、缩放、旋转等)产生动画效果。帧动画则是...

    新版Android开发教程.rar

    的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • 应用程序框架 支持组件的重用与替换 • Dalvik Dalvik Dalvik Dalvik 虚拟机 专为移动设备优化 • ...

    Android xml实现animation的4种动画效果实例代码

    animation有四种动画类型:分别为alpha(透明的渐变)、rotate(旋转)、scale(尺寸伸缩)、translate(移动),二实现的分发有两种,一种是javaCode,另外一种是XML,而我今天要说的是XML实现的方法,个人感觉javaCode的...

    android群雄传

    10.5.1 生成Trace View日志的两种方法 241 10.5.2 打开Trace View日志 242 10.5.3 分析Trace View日志 242 10.6 使用MAT工具分析App内存状态 244 10.6.1 生成HPROF文件 244 10.6.2 分析HPROF文件 245 10.7 ...

    Android 动画介绍

    Android 动画的介绍,入门级指引 3.0之前,android支持两种动画,tween animation和frame animation(补间动画与帧动画),3.0之后又增加了一种动画property animation

    Android-drag-drop-views-demo:这个项目演示了如何在android中的基本视图上实现拖放动画

    总的来说,这两种操作都可用于在您的应用中创建非常棒的用户体验。 注意:我没有在这里提供 appcompat7 库。 导入此项目后,请将 android-support-v7-appcompat 库添加到项目的构建路径中。 随时联系寻求帮助 -

    Android实现中轴旋转特效 Android制作别样的图片浏览器

    Android API Demos中有很多非常Nice的例子,这些例子的代码都写的很...在Android中如果想要实现3D效果一般有两种选择,一是使用Open GL ES,二是使用Camera。Open GL ES使用起来太过复杂,一般是用于比较高级的3D特效

Global site tag (gtag.js) - Google Analytics