高德地图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 |
动画集合 |
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);