2013-04-11 5 views
2

Я создаю анимацию, которая должна меняться случайным образом, поэтому мне нужно было использовать AnimationDrawable (и да, я не мог справиться с этим с помощью анимации.) Итак, у меня есть некоторые изображения, и я динамически добавляю фрейм в и для них. Пока все работает хорошо. Я вижу, что анимация работает, но проблема в том, что после завершения одной анимации мне нужно удалить каждый кадр на этом изображении и затем добавить к нему новые. Но, к сожалению, я не смог найти способ удалить фреймы ... Есть ли способ? или это просто досадный недостаток?Можно добавить Frame, но не удалить Frame на AnimationDrawable?

Заранее спасибо.

ответ

1

Управляйте им, установив анимацию, уменьшающуюся до нуля, воссоздавая ее, а затем вернув ее в образы просмотра изображений ... Но не уверен, что это эффективный способ сделать это. Я до сих пор считаю, что должен быть способ что-то вроде removeFrame ... Во всяком случае здесь решение:

AnimationDrawable animationFrame = (AnimationDrawable) view.getDrawable(); 
animationFrame = null; 
animationFrame = new AnimationDrawable(); 
// Do stuff... 
view.setBackgroundDrawable(animationFrame); 

Пожалуйста, дайте мне знать, если есть более эффективный способ справиться с этим. Поскольку создание нового объекта снова и снова в miliseconds может вызвать проблему памяти, я думаю.

0

Для меня это сработало:

animationView.setBackgroundResource(0); 

Просто установите нуль BackgroundResource для соответствующего ImageView