Я рвал на себе волосы, пытаясь заставить эту, казалось бы, простую задачу работать. Мне нужно поместить анимированный gif в оверлей на карте.
У меня есть следующий код:
AnimationDrawable anim = (AnimationDrawable)getResources().getDrawable(R.drawable.explosion);
Однако как мне теперь вставить это в оверлей и перебросить его поверх карты?
В настоящее время для размещения статических изображений у меня есть это:
class DrawableIcon extends ItemizedOverlay {
private ArrayList mOverlays = new ArrayList();
public DrawableIcon(Drawable defaultMarker) {
super(boundCenterBottom(defaultMarker));
}
public void addOverlay(OverlayItem overlay) {
mOverlays.add(overlay);
populate();
}
@Override
protected OverlayItem createItem(int i) {
return mOverlays.get(i);
}
@Override
public int size() {
return mOverlays.size();
}
}
Который я затем использую как таковой: (gp - это геоточка места, в которое я хочу поместить изображение)
DrawableIcon image = new DrawableIcon(this.getResources().getDrawable(ResourceID));
image.addOverlay(new OverlayItem(gp, "", ""));
mapOverlays.add(image);
Итак, как мне изменить этот код, чтобы, когда ResourceID является идентификатором анимированного изображения в формате gif, изображение в формате gif воспроизводило свою анимацию поверх карты?
Заранее спасибо!