• Tween动画


    知识点

    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坐标上的伸缩尺寸。

          pivotXTypepivotYType分别是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);

    }

    }

  • 相关阅读:
    添加多个tab,并循环修改tab样式
    00五大原则(转)
    win7 & IIS7.5 HTTP 错误 404.17 Not Found 请求的内容似乎是脚本,因而将无法由静态
    人类的奇怪之处
    创业公司CEO每天应该做的13件事(转),个人感觉,同样有几条也适合于自己,或部门领导。
    购物车功能分析
    ASP.NET中DataTable的用法
    jQuery插件列表
    jQuery灯箱插件lightBox使用方法
    一个黑客与电脑白痴的聊天纪录
  • 原文地址:https://www.cnblogs.com/danmao/p/3808668.html
Copyright © 2020-2023  润新知