Я создал AnimationDrawable в XML, и он работает отлично. Но на перемещение вытяжки в MapView в качестве наложения маркеров (замещающей статичной вытяжку, который работает отлично), анимация упорно отказывается играть. Я переместил звонок, чтобы начать () к кнопке, для тестирования, и даже при нажатии несколько секунд после отображения mapView анимация не запускается. Я ничего не вижу в Logcat. Я знаю, что start () нужно вызывать после того, как все окна настроены, но это кажется отдельной проблемой.
Анимация, совместимые с MapView?
Есть ли что-то особенное, мне нужно сделать, чтобы сделать одну работу в MapView?
У вас когда-либо успешно работают в MapView?
Решение Мэтта (ниже) Я добавил анимацию передачи, поместив ImageView внутри слоев MapSView, а не использовать наложение.
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();
}
А потом 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>