高德地图SDK Android版开发 8 覆盖物示例2动画

前言

前文介绍了高德地图Marker支持多种动画类型:

  • 帧动画;
  • Animation动画(包括平移、旋转、透明、缩放和组合动画)。

本文重点介绍Marker动画相关的类和接口,以及示例代码。

动画相关的类和接口

帧动画

帧动画的功能通过MarkerOptions类来设置,一次传入一个Icon列表,通过period设定刷新的帧间隔。

MarkerOptions

类型 方法 说明
MarkerOptions icons(ArrayList< BitmapDescriptor > icons) 设置Marker覆盖物的动画帧图标列表,多张图片模拟gif的效果。
MarkerOptions period(int period) 设置多少帧刷新一次图片资源,Marker动画的间隔时间,值越小动画越快。

Animation动画

Marker还支持设置旋转、缩放、平移、透明和组合动画效果。通过Marker类setAnimation方法设置。

说明 说明
void setAnimation(Animation animation) 设置动画。动画包含,旋转,缩放,消失,平移以及它们的组合动画
boolean startAnimation() 开始动画

Animation类及其子类

动画类别 说明
抽象类 Animation 动画,可用于支持动画的覆盖物。使用方法如同Android系统自带的Animation
移动动画 TranslateAnimation 控制移动的动画类
旋转动画 RotateAnimation 控制旋转的动画类
透明度动画 AlphaAnimation 控制透明度的动画类
缩放动画 ScaleAnimation 控制缩放的动画类
组合动画 AnimationSet 动画集合
TranslateAnimation
+TranslateAnimation(latLng)
#String getAnimationType()
Animation
+int getFillMode()
+int getRepeatCount()
+int getRepeatMode()
+void setAnimationListener(listener)
+void setDuration(duration)
+void setFillMode(fillMode)
+void setInterpolator(interpolator)
+void setRepeatCount(repeatCount)
+void setRepeatMode(repeatMode)
RotateAnimation
+RotateAnimation(fromdegree, todegree)
#String getAnimationType()
AlphaAnimation
+AlphaAnimation(fromAlpha, toAlpha)
#String getAnimationType()
ScaleAnimation
+ScaleAnimation(fromX, toX, fromY, toY)
#String getAnimationType()
AnimationSet
+AnimationSet(shareInterpolator)
+void addAnimation(animation)
+void cleanAnimation()
#String getAnimationType()
Animation
说明 说明
int getFillMode() 获取动画执行完成后的状态
int getRepeatCount() 获取动画重复执行的次数
int getRepeatMode() 重复执行的模式
void setAnimationListener(Animation.AnimationListener listener) 设置动画监听器
void setDuration(long duration) 设置动画持续时间。如果设置为负数,会修正为0
void setFillMode(int fillMode) 设置动画执行完成后的状态。默认FILL_MODE_FORWARDS
void setInterpolator(Interpolator interpolator) 设置插值器。默认是线性插值器
void setRepeatCount(int repeatCount) 设置动画重复执行的次数。默认为0
void setRepeatMode(int repeatMode) 重复执行的模式。默认RESTART
  • 常量
类型 常量 说明
static int FILL_MODE_BACKWARDS 动画执行后保持在第一帧
static int FILL_MODE_FORWARDS 动画执行后保持在最后一帧
static int INFINITE 无限期地重复动画
static int RESTART 动画结束后从头播放,最大重复次数受Animation.setRepeatCount(int) 限制
static int REVERSE 动画结束后从尾倒放,最大重复次数受Animation.setRepeatCount(int) 限制
// 设置重复执行的模式
animation.setRepeatMode(Animation.RESTART);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值