From 015cfa0e13f662107e8752020ccd50c1d7d3621d Mon Sep 17 00:00:00 2001 From: jiaguofeng Date: Thu, 2 Jul 2020 16:22:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=94=9A=E7=82=B9=E5=8A=A8?= =?UTF-8?q?=E7=94=BB=E6=97=B6=E9=97=B4=E5=8D=95=E4=BD=8D=E6=8D=A2=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/custom/marker/AMapMarkerWrapper.java | 101 ++++++++++-------- 1 file changed, 56 insertions(+), 45 deletions(-) diff --git a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/marker/AMapMarkerWrapper.java b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/marker/AMapMarkerWrapper.java index 2ea989dcc1..20c63ea936 100644 --- a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/marker/AMapMarkerWrapper.java +++ b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/marker/AMapMarkerWrapper.java @@ -4,7 +4,6 @@ import android.graphics.Bitmap; import android.graphics.Point; import android.util.Log; import android.view.View; -import android.view.animation.Animation; import android.view.animation.Interpolator; import android.view.animation.ScaleAnimation; import android.view.animation.TranslateAnimation; @@ -21,8 +20,10 @@ import com.mogo.map.marker.MogoMarkerOptions; import com.mogo.map.marker.anim.OnMarkerAnimationListener; import com.mogo.utils.WindowUtils; import com.mogo.utils.logger.Logger; +import com.zhidaoauto.map.sdk.inner.marker.Animation; import com.zhidaoauto.map.sdk.inner.marker.MarkerScaleAnimation; import com.zhidaoauto.map.sdk.inner.marker.MarkerTranslateAnimation; +import com.zhidaoauto.map.sdk.open.abs.marker.MarkerAnimationListener; import com.zhidaoauto.map.sdk.open.marker.Marker; import com.zhidaoauto.map.sdk.open.marker.MarkerInfo; import com.zhidaoauto.map.sdk.open.marker.MarkerOptions; @@ -360,30 +361,35 @@ public class AMapMarkerWrapper implements IMogoMarker, Observer { } MarkerScaleAnimation animationScale = new MarkerScaleAnimation(fromX, toX); - animationScale.setDuration(duration); + animationScale.setDuration(duration*1000); // animationScale.setFillMode(Animation.FILL_MODE_FORWARDS); // animationScale.setInterpolator(interpolator); -// animationScale.setAnimationListener(new Animation.AnimationListener() { -// @Override -// public void onAnimationStart() { -// if (isDestroyed()) { -// return; -// } -// if (listener != null) { -// listener.onAnimStart(); -// } -// } -// -// @Override -// public void onAnimationEnd() { -// if (isDestroyed()) { -// return; -// } -// if (listener != null) { -// listener.onAnimEnd(); -// } -// } -// }); + animationScale.setAnimationListener(new MarkerAnimationListener() { + @Override + public void onAnimationEnd(@NotNull Animation animation) { + if (isDestroyed()) { + return; + } + if (listener != null) { + listener.onAnimEnd(); + } + } + + @Override + public void onAnimationRepeat(@NotNull Animation animation) { + + } + + @Override + public void onAnimationStart(@NotNull Animation animation) { + if (isDestroyed()) { + return; + } + if (listener != null) { + listener.onAnimStart(); + } + } + }); mMarker.setMarkerScaleAnimation(animationScale); mMarker.startAnimation(); @@ -402,29 +408,34 @@ public class AMapMarkerWrapper implements IMogoMarker, Observer { //使用TranslateAnimation,填写一个需要移动的目标点 MarkerTranslateAnimation animation = new MarkerTranslateAnimation(latLng); // animation.setInterpolator(interpolator); -// animation.setAnimationListener(new Animation.AnimationListener() { -// @Override -// public void onAnimationStart() { -// if (isDestroyed()) { -// return; -// } -// if (listener != null) { -// listener.onAnimStart(); -// } -// } -// -// @Override -// public void onAnimationEnd() { -// if (isDestroyed()) { -// return; -// } -// if (listener != null) { -// listener.onAnimEnd(); -// } -// } -// }); + animation.setAnimationListener(new MarkerAnimationListener() { + @Override + public void onAnimationEnd(@NotNull Animation animation) { + if (isDestroyed()) { + return; + } + if (listener != null) { + listener.onAnimEnd(); + } + } + + @Override + public void onAnimationRepeat(@NotNull Animation animation) { + + } + + @Override + public void onAnimationStart(@NotNull Animation animation) { + if (isDestroyed()) { + return; + } + if (listener != null) { + listener.onAnimStart(); + } + } + }); //整个移动所需要的时间 - animation.setDuration(duration); + animation.setDuration(duration*1000); //设置动画 mMarker.setTranslateAnimation(animation); mMarker.startAnimation();