summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorCameron Mace <cameron@mapbox.com>2016-05-11 15:35:20 -0400
committerTobrun <tobrun@mapbox.com>2016-05-18 12:02:03 +0200
commitcdda083a6f792cd23e8e58d8a50cca2693c63b4d (patch)
tree503a567d350148924226069195751e31c13a22ac /platform
parent56979500d876d911241e6583d42727bdb93c80f3 (diff)
downloadqtlocation-mapboxgl-cdda083a6f792cd23e8e58d8a50cca2693c63b4d.tar.gz
[android] Animate MylocationView direction
Fixes #4942
Diffstat (limited to 'platform')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java
index 23c46bfd31..b3e0ed4d8d 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java
@@ -1,5 +1,6 @@
package com.mapbox.mapboxsdk.maps.widgets;
+import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
import android.content.Context;
import android.graphics.Canvas;
@@ -62,6 +63,7 @@ public class MyLocationView extends View {
private ValueAnimator locationChangeAnimator;
private ValueAnimator accuracyAnimator;
+ private ObjectAnimator directionAnimator;
private Drawable foregroundDrawable;
private Drawable foregroundBearingDrawable;
@@ -390,7 +392,16 @@ public class MyLocationView extends View {
newDir -= 360.f;
}
compassDirection = newDir;
- invalidate();
+
+ if (directionAnimator != null) {
+ directionAnimator.end();
+ directionAnimator = null;
+ }
+
+ directionAnimator = ObjectAnimator.ofFloat(this, View.ROTATION, oldDir, newDir);
+ directionAnimator.setDuration(1000);
+ directionAnimator.start();
+
} else {
compassDirection = 0;
}