在UI线程外部启动ValueAnimator

时间:2014-07-11 02:30:20

标签: java android multithreading

我正在尝试从UI线程的单独线程运行android.animation.ValueAnimator。据我了解,ValueAnimator只能从UI线程运行。有没有一种正确的方法从另一个线程启动它以在UIThread上运行?

我将ValueAnimator包装在另一个类中,该类包含UI线程定期检查的开关。

private ArrayList<Animation> animators;
public void onResume(){
while(true)
        {
            try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            checkAnimations();

        }
}
public void checkAnimations()
    {
        for(Animation va: animators)
        {
            if(va.animationHasStarted())
                va.actuallyStartTheAnimation();
        }
    }
public void RegisterAnimation(Animation valueAnimator)
    {
        animators.add(valueAnimator);
    }

无限循环导致UI停止。您知道更好的实现/设计模式吗?

0 个答案:

没有答案