Как я могу нарисовать анимированный вид в Android?

Я создал собственный вид с нуля. Расширенный View и переопределенный onDraw(). Когда дело доходит до анимации вида, я создаю собственную анимацию, используя смещения. например.

while(!isOnTop){
mOffset++;

//draw the component a a it higher using the offset

if(position == 0)
isOnTop==true;
invalidate();

}

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

Эта «общая недействительность ()» приводит к задержке моей анимации. Так есть ли выход из этой задержки?

Есть ли у вас другие предложения по выполнению анимации в этой общей среде? Создание анимации с использованием отдельного потока, который вычисляет смещение, также требует принудительной отмены вызовов () для отображения анимации (поправьте меня, если я ошибаюсь).

Является ли единственным решением для выполнения анимации, например, 10 запросов на аннулирование с большим шагом? Это облегчит отставание, но я думаю, что могу использовать другой подход к этому.

8
задан Peter O. 18 October 2011 в 12:09
поделиться