我的GDK应用程序设置与Compass示例应用程序完全相同。我正在使用包含视图的渲染器。这里的目标是使用.png序列创建一个活动指示器,我可以在加载某些东西时调出。在渲染器中,我为包含活动指示器的ImageView的布局XML进行了充气。以下是我设置动画的方法:
progressIndicator.setBackgroundResource(R.drawable.my_loader_animation);
progressAnimation = (AnimationDrawable)progressIndicator.getBackground();
progressAnimation.setCallback(new Drawable.Callback() {
@Override
public void invalidateDrawable(Drawable drawable) {
// Log.i(TAG, "invalidateDrawable");
return;
}
@Override
public void scheduleDrawable(Drawable who, Runnable what, long when) {
Handler h = new Handler();
h.postAtTime(what, when);
}
@Override
public void unscheduleDrawable(Drawable drawable, Runnable runnable) {
//Log.i(TAG, "unscheduleDrawable");
return;
}
});
当我的应用需要显示动画时,我将ImageView设置为VISABLE,然后调用
progressAnimation.start();
问题是,几秒钟后动画停止,我无法再次启动它。我不确定导致动画停止的原因,但我怀疑它是渲染器中包含的视图中发生的事情的b / c。我确实有somehot =" false"在动画列表xml中。如何阻止动画停止?我怎么能弄清楚是什么阻止了它?谢谢。
更新:仍然不知道为什么会发生这种情况,但有很多因素导致动画停止。当我的应用程序排序和对象数组时,它会停止。当我点击URL获取JSON时,它会停止。如果我评论这些内容,动画会继续并且不会停止。我放弃了这一点,只是制作一些闪烁的文字来表示活动。