¿Puedo usar AnimationDrawable en una superposición en un MapView?

He creado un AnimationDrawable en XML, y funciona bien. Pero al mover el dibujable en un MapView como un marcador de superposición (reemplazando un dibujo estático que funciona bien), la animación se niega obstinadamente a jugar. He movido la llamada a start () a un botón, para la prueba, e incluso cuando se pulsa varios segundos después de que el MapView ha mostrado, la animación no se inicia. No estoy viendo nada en Logcat. Sé que start () necesita llamar después de que todas las ventanas estén configuradas, pero esto parece ser un problema aparte.

¿Son compatibles AnimationDrawables con MapView?

¿Hay algo especial que necesito hacer para que uno funcione en un MapView?

¿Alguna vez ha tenido éxito en un trabajo MapView?

Solución

Uso de la solución de Matt (abajo) He añadido el AnimationDrawable poniendo el ImageView dentro de las capas de MapView, en lugar de usar una superposición.

public void showAnimatedMarker(GeoPoint point) { LinearLayout v = (LinearLayout) View.inflate(context, R.layout.markerlayout, null); ImageView marker = (ImageView) v.findViewById(R.id.marker); AnimationDrawable markerImage = (AnimationDrawable)marker.getDrawable(); this.addView(v, 0, new MapView.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, point, MapView.LayoutParams.BOTTOM_CENTER)); markerImage.start(); } 

Y luego markerlayout.xml:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/marker" android:src="@drawable/my_animation_drawable" /> </LinearLayout> 

One Solution collect form web for “¿Puedo usar AnimationDrawable en una superposición en un MapView?”

Esto no se ha probado con animaciones, pero puede ser de alguna utilidad.

Tuve problemas con la adición de widgets al MapView, pero encontré el método addView. Trate de añadir el AnimationDrawable a través de este método, puede cambiar la forma en que es tratado por el MapView y, por tanto, animar correctamente:

Echa un vistazo aquí para un pequeño ejemplo: http://www.gauntface.co.uk/pages/blog/2010/01/04/mapview-with-widgets-android/

  • Falta la biblioteca compartida en android.
  • Adición de una capa KML a una aplicación de mapas de Android
  • Cómo manejar el evento onTouch para el mapa en Google Map API v2?
  • Resolvamos el error "Error al encontrar estilo 'mapViewstyle' en tema actual"
  • Dibuja un círculo en Android MapView
  • Comparando dos ubicaciones usando sus longitudes y latitud
  • Path () - segmentos de color inteligentes
  • Android 1.6 Mapview no muestra tráfico hasta que el usuario interactúa con el mapa
  • Una clave de Google Maps para todos los desarrolladores?
  • ¿Cómo se suelta un pin en un MapView en Android?
  • Marcadores de mapa de escala por Zoom, Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.