gpt4 book ai didi

Android 谷歌地图 v2 : animate marker size

转载 作者:太空宇宙 更新时间:2023-11-03 12:16:44 24 4
gpt4 key购买 nike

我正在尝试在添加到 map 时为标记的大小设置动画,基本上我希望标记变大。我看不到任何方法可以到达标记的实际 View ,所以我认为我不能使用标准的 Android 动画技术(例如 ObjectAnimator)。

我能看到的唯一方法是实现我自己的动画并使用 setIcon 方法更改标记图标。

有没有其他更好的方法来做到这一点?

我在 Xamarin 工作,但如果需要可以移植 Java 代码。

最佳答案

你可以尝试这样的事情

final Marker marker = map.addMarker(new MarkerOptions().position(new LatLng(0, 0)).title("Marker"));
final Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_temperature_kelvin_black_48dp);
final Bitmap target = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);
final Canvas canvas = new Canvas(target);
ValueAnimator animator = ValueAnimator.ofFloat(0, 1);
animator.setDuration(500);
animator.setStartDelay(1000);
final Rect originalRect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
final RectF scaledRect = new RectF();
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
float scale = (float) animation.getAnimatedValue();
scaledRect.set(0, 0, originalRect.right * scale, originalRect.bottom * scale);
canvas.drawBitmap(bitmap, originalRect, scaledRect, null);
marker.setIcon(BitmapDescriptorFactory.fromBitmap(target));
}
});
animator.start();

关于Android 谷歌地图 v2 : animate marker size,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32474884/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com