android mapbox:我如何设置标记动画,比如从屏幕顶部掉落的标记?

时间:2015-08-24 12:25:59

标签: android mapbox

我的目标是在地图上创建一个标记,从屏幕顶部开始下降动画。 我不知道如何解决它。 我怎么能做到这一点?

1 个答案:

答案 0 :(得分:1)

添加此方法:

private void dropPinEffect(final Marker marker) {
    // Handler allows us to repeat a code block after a specified delay
    final android.os.Handler handler = new android.os.Handler();
    final long start = SystemClock.uptimeMillis();
    final long duration = 1500;

    // Use the bounce interpolator
    final android.view.animation.Interpolator interpolator =
            new BounceInterpolator();

    // Animate marker with a bounce updating its position every 15ms
    handler.post(new Runnable() {
        @Override
        public void run() {
            long elapsed = SystemClock.uptimeMillis() - start;
            // Calculate t for bounce based on elapsed time
            float t = Math.max(
                    1 - interpolator.getInterpolation((float) elapsed
                            / duration), 0);
            // Set the anchor
            marker.setAnchor(0.5f, 1.0f + 14 * t);

            if (t > 0.0) {
                // Post this event again 15ms from now.
                handler.postDelayed(this, 15);
            } else { // done elapsing, show window
                marker.showInfoWindow();
            }
        }
    });
}