diff options
author | Cameron Mace <cameron@mapbox.com> | 2016-05-11 15:35:20 -0400 |
---|---|---|
committer | Tobrun <tobrun@mapbox.com> | 2016-05-18 12:02:03 +0200 |
commit | cdda083a6f792cd23e8e58d8a50cca2693c63b4d (patch) | |
tree | 503a567d350148924226069195751e31c13a22ac /platform | |
parent | 56979500d876d911241e6583d42727bdb93c80f3 (diff) | |
download | qtlocation-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.java | 13 |
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; } |