谷歌地图API中的标记的GIFtypes的animationANDROID

我想要实现一个标记animation,如GIFanimation。 我有两个应该同时闪烁的图像。 我没有发现任何可以实现这一点在Android中。 我试图做的是,创build一个每1秒运行的处理程序,并且我正在设置标记的图标。 但它不起作用。 请引导我正确的方向。

我现在的代码如下。

Handler handler = new Handler(); Boolean marker_color_bool = true; //adding marker and sending the marker instance to marker_animation() method where handler is called. MarkerOptions marker = new MarkerOptions() .title(delivery_center_name) .snippet("This is the " + delivery_center_name + " location") .position(location) .icon(BitmapDescriptorFactory.fromResource(R.drawable.red_marker)); google_map.addMarker(marker); marker_animation(marker); 

marker_animation()方法

  private final int ONE_SECONDS = 1000; public void marker_animation(final MarkerOptions marker ) { handler.postDelayed(new Runnable() { public void run() { Log.e("running",""+marker_color_bool); if(marker_color_bool == true) { marker.icon(BitmapDescriptorFactory.fromResource(R.drawable.green_marker)); marker_color_bool = false; } else { marker.icon(BitmapDescriptorFactory.fromResource(R.drawable.red_marker)); marker_color_bool = true; } handler.postDelayed(this, ONE_SECONDS); } }, ONE_SECONDS); } 

这种方法不工作..请帮助我,我做错了什么。

请帮助我,我做错了什么

您正在修改不再使用的对象。 一旦addMarker()MarkerOptions对象就没有更多的意义了,但这是通过postDelayed()逻辑修改的。

(顺便说一下,你不需要一个Handler ,因为postDelayed()在任何View上都可用)

addMarker()返回一个Marker 。 您将需要使用该Marker来通过setIcon()来影响您的更改。

此外,由于您的位图不会改变,我build议caching您的两个BitmapDescriptor对象,而不是每遍都重新创build它们。