知识点

Alpha:渐变透明度动画效果

Scale:渐变尺寸伸缩动画效果

Translate:移动效果

Rotate:旋转效果

1、 AlphaAnimation(float fromAlpha,float toAlpha)

功能:构建一个渐变透明度动画

参数:fromAlpha:为动画的起始透明度,toAlpha:终止透明度(0.0表示完全透明,1.0表示完全不透明)

2、 ScaleAnimation(float fromX,float toX,flaot fromY, flaot toY, int pivotXType,float pivotXValue,int pivotYType,flaot pivotYValue)

功能:构建一个渐变尺寸伸缩动画

参数:fromX, toX分别是起始和结束时x坐标上的伸缩尺寸。

fromY, toY分别是起始和结束时y坐标上的伸缩尺寸。

pivotXType,pivotYType分别是x,y的伸缩模式。

pivotXValue, pivotYValue分别是x,y的坐标开始的位置。

3、 TranslateAnimation(float fromXDelta, flaot toXDelta, flaot fromYDelta,float toYDelta)

功能:构建一个渐变尺寸伸缩动画

参数:fromXDelta, fromYDelta:分别为起始坐标, toXDelta, toYDelta分别为终点坐标

4、 RotateAnimation(float fromDegrees,float toDegress,int pivotXType,float pivotXValue,int pivotYType,float pivotYValue)

功能:构建一个旋转画面的动画

参数:fromDegrees开始的角度, toDegress为结束的角度,.

pivotXType, pivotYType分别为x,y的伸缩模式,.

pivotXValue, pivotYValue分别为x,y的开始位置

5、 setDuration(long durationMillis)

功能:设置动画显示的时间

参数:durationMillis为动画显示时间的长短,以毫秒为单位

6、 startAnimation(Animation animation)

功能:开始播放动画

参数:animation为要播放的动画

代码示例

package com.example.examples_05_15;

import android.content.Context;

import android.graphics.Bitmap;

import android.graphics.Canvas;

import android.graphics.drawable.BitmapDrawable;

import android.view.KeyEvent;

import android.view.View;

import android.view.animation.AlphaAnimation;

import android.view.animation.Animation;

import android.view.animation.RotateAnimation;

import android.view.animation.ScaleAnimation;

import android.view.animation.TranslateAnimation;

public class GameView extends View {

//定义mAnimationAlpha

private Animation mAnimationAlpha=null;

//定义mAnimationScale

private Animation mAnimationScale=null;

//定义mAnimationTranslate

private Animation mAnimationTranslate=null;

//定义mAnimationRotate

private Animation mAnimationRotate=null;

//定义mBitmapQQ

Bitmap mBitmapQQ;

public GameView(Context context) {

super(context);

// TODO Auto-generated constructor stub

//装载图片

mBitmapQQ=((BitmapDrawable)getResources().getDrawable(R.drawable.qq)).getBitmap();

}

public void onDraw(Canvas canvas) {

super.onDraw(canvas);

//绘制图片

canvas.drawBitmap(mBitmapQQ, 0, 0, null);

}

public boolean onKeyDown(int keyCode,KeyEvent event) {

if(keyCode==KeyEvent.KEYCODE_DPAD_UP)

{

//创建mAnimationAlpha

mAnimationAlpha=new AlphaAnimation(0.1f, 1.0f);

//设置动画时间

mAnimationAlpha.setDuration(3000);

//开始播放

this.startAnimation(mAnimationAlpha);

}

else if (keyCode==KeyEvent.KEYCODE_DPAD_DOWN) {

//创建scale动画

mAnimationScale=new ScaleAnimation(0.0f, 1.0f, 0.0f, 1.0f,

Animation.RELATIVE_TO_SELF,0.5f,Animation.ZORDER_TOP,0.5f);

//设置动画时间

mAnimationScale.setDuration(500);

//动画开始

this.startAnimation(mAnimationScale);

}

else if (keyCode==KeyEvent.KEYCODE_DPAD_LEFT) {

//创建mAnimationTranslate

mAnimationTranslate =new TranslateAnimation(10, 100, 10, 100);

//设置动画时间

mAnimationTranslate.setDuration(1000);

//开启动画

this.startAnimation(mAnimationTranslate);

}

else if (keyCode==KeyEvent.KEYCODE_DPAD_RIGHT) {

//创建mAnimationRotate

mAnimationRotate =new RotateAnimation(0.0f, +360.0f, Animation.RELATIVE_TO_SELF,

0.5f, Animation.RELATIVE_TO_SELF, 0.5f);

//设置时间

mAnimationRotate.setDuration(1000);

//开启动画

this.startAnimation(mAnimationRotate);

}

return true;

}

}

package com.example.examples_05_15;

import android.os.Bundle;

import android.app.Activity;

import android.view.KeyEvent;

import android.view.Menu;

public class MainActivity extends Activity {

GameView gameView=null;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

gameView=new GameView(this);

setContentView(gameView);

}

public boolean onKeyDown(int keyCode,KeyEvent event) {

if(gameView==null)

{

return false;

}

return gameView.onKeyDown(keyCode, event);

}

}

Tween动画的更多相关文章

  1. Android tween 动画 XML 梳理

    前言: Tween动画是展现出旋转.渐变.移动.缩放的这么一种转换过程,即补间动画.Tween动画有两种定义方式:XML形式,编码形式.这次主要来梳理XML的方式配置动画 (1)XML定义动画,按照动 ...

  2. Android动画之Tween动画实战

    Android动画分为Tween动画和Frame动画,上一节通过一个实例介绍了Frame动画,本节将介绍Tween动画.Tween可以把对象进行缩小.放大.旋转和渐变等操作.     Tween动画有 ...

  3. 安卓开发基础之tween动画基本使用,代码教学

    xml代码块: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:andro ...

  4. 【Android动画】之Tween动画 (渐变、缩放、位移、旋转)

    Android 平台提供了两类动画. 一类是Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转.平移.放缩和渐变). 第二类就是 Frame动画,即顺序的播放事先做好的图像,与g ...

  5. android之tween动画详解

    android中一共提供了两种动画,其一便是tween动画,tween动画通过对view的内容进行一系列的图像变换(包括平移,缩放,旋转,改变透明度)来实现动画效果,动画效果的定义可以使用xml,也可 ...

  6. 【转】android动画之Tween动画 (渐变、缩放、位移、旋转)

    原文:http://blog.csdn.net/feng88724/article/details/6318430 Android 平台提供了两类动画. 一类是Tween动画,就是对场景里的对象不断的 ...

  7. Unity NGUI Tween动画回调不执行问题

    最近工作中遇到了一个问题 NGUI的Tween动画完成 回调函数 偶尔不执行 偶现Bug 今天我仔细看了下代码发现 TweenPosition tempTween = varTar.GetCompon ...

  8. 关于Unity中NGUI的帧动画和Tween动画

    帧动画 1.把三张帧动画的贴图png制作成图集,NGUI---->Open---->Atlas Maker,生成一个预制体,一个材质球,一个大图 2.创建一个Sprite类型的Sprite ...

  9. egret的tween动画循环播放

    开发中发现了egret的自带tween动画中tweenGroup没有自动重新播放的代码,就使用了一种较笨的方法进行播放 比如:我在exml皮肤文件中写了一个动画组tweenGroup,并且在ts文件中 ...

  10. android tween动画和Frame动画总结

    tween  动画有四种 //透明度动画 AlphaAnimation aa = (AlphaAnimation) AnimationUtils.loadAnimation(MainActivity. ...

随机推荐

  1. IT只忍者龟Photoshop简单人像的头发抠图过程

    一.导入素材,加入蒙版 1.导入美女图片 2.导入背景图片 如今须要将美女抠出来放在这个背景上,怎么办?一定会有人想到用通道,抽出.(备注:在ps6以后版本号,抽出已经没有这个选项了). 3.将美女图 ...

  2. 【Android先进】我们为什么要创建Activity基类Activity什么是一般的基类方法

    今天,它可以被视为只是基本完成了其首个商业项目,在发展过程中,风格,然而随着工作经验的积累.最终開始慢慢的了解到抽象思想在面向对象编程中的重要性,这一篇简单的介绍一下我的一点收获. 首先,在如今的项目 ...

  3. SPOJ 375 树链剖分

    SPOJ太慢了,SPOJ太慢了, 题意:给定n(n<=10000)个节点的树,每条边有边权,有两种操作:1.修改某条变的边权:2.查询u,v之间路径上的最大边权. 分析:树链剖分入门题,看这里: ...

  4. 【甘道夫】官方网站MapReduce代码注释具体实例

    引言 1.本文不描写叙述MapReduce入门知识,这类知识网上非常多.请自行查阅 2.本文的实例代码来自官网 http://hadoop.apache.org/docs/current/hadoop ...

  5. 华为-on练习--重复的字符过滤

    称号: 请写一个字符串过滤程序,如果使用多个相同的字符出现在字符串中,字符首次出现在非过滤,. 比方字符串"abacacde"过滤结果为"abcde". 演示样 ...

  6. js面向对象的学习笔记九(BOM 与 DOM 经常使用的属性分析)

    一  BOM物 window 的 相关属性 1. 用户配置的机器配置对象 navigator navigator.userAgent //该属性能够查看用户机器浏览器的配置 "Mozilla ...

  7. thinkphp学习笔记1—目录结构和命名规则

    原文:thinkphp学习笔记1-目录结构和命名规则 最近开始学习thinkphp,在下不才,很多的问题看不明白所以想拿出来,恕我大胆发在首页上,希望看到的人能为我答疑解惑,这样大家有个互动,学起来快 ...

  8. linux_shell_拆分文件_多进程脚本

    [需求场景]:一个10000w行的文件处理  ,多进程处理  比如启动100个进程同时处理. [方法]:拆分文件(split) ,制作shell脚本  执行后台进程 [demo]: 假设处理程序为   ...

  9. Android环境结构--安装Eclipse错

    在学习安卓第一步.成立了一个开发环境. 经验,知道,所以这一步是不容易,因为你觉得,我可能是太幸运了. 我见到 题. 首先,安装Eclipse的时候. [Problem 1] [问题原因]: (1) ...

  10. CSS3之重新定义鼠标右键

    效果图: html: <div id="rightkey"> <ul> <li><img src="images/xmgl.pn ...