多媒体之动画

作者:华清远见讲师

补间动画(Tween Animation)

Alpha动画(透明度动画)

属性

//透明度范围0.0-1.0

android:fromAlpha="0.1"

android:toAlpha="1.0"

//动画播放持续时间1000毫秒

android:duration="1000"

scale动画(缩放动画)

属性

//缩放比例

android:fromXScale="0.5"

android:toXScale="1.0"

android:fromYScale="0.5"

android:toYScale="1.0"

//缩放点坐标

android:pivotX="50%"

android:pivotY="50%"

trans动画(平移动画)

属性

//平移距离(像素为单位)

android:fromXDelta="0"

android:toXDelta="100"

android:fromYDelta="0"

android:toYDelta="100"

//停留在最后一帧

android:fillAfter="true"

rotate动画(旋转动画)

属性

//旋转角度

android:fromDegrees="0"

android:toDegrees="360"

//旋转点坐标(动画的中心点)

android:pivotX="50%"

android:pivotY="50%"

组合动画

属性

<alpha p="" <="" android:fromalpha="0.5">

android:toAlpha="1.0"

android:duration="2000"/>

<scale< p="">

android:startOffset="2000"

android:fromXScale="1"

android:toXScale="0.5"

android:fromYScale="1"

android:toYScale="0.5"

android:duration="2000"/>

注意:动画除了可以作用于ImageView控件,还可以作用于Activity组件。

//1.进来的activity的动画

//2.出去的activity的动画

overridePendingTransition(R.anim.ani_alpha, R.anim.ani_trans);

逐帧帧动画:由多张图片组成,每一个帧播放一张图片

自定义动画:SurfaceView

自定义动画可以运行在子线程中,能够保证动画效果的流畅性。

通常android游戏开发都是基于SurfaceView的。且该类自带双缓冲机制,能保证画面的流畅。

Holder类介绍

添加回调方法

Holder holder = this.getHolder();

holder.addCallBack(this);

获取画布对象

Canvas canvas = holder.lockCanvas();

paint(canvas);

logic();

holder.unlockCanvasAndPost(canvas);

裁剪画布

//保存画布

canvas.save();

//设置裁剪区域

canvas.clip(left, top, right, bottom);

//在已经被裁剪的区域上绘制图片

canvas.drawBitmap(bitmap, 10, 10, paint);

//恢复画布

canvas.restore();

封装动画类

文章源自华清远见嵌入式学院:http://www.embedu.org/

>>>更多优秀技术博文每日更新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值