如何在带有Gallery的getView中使用AnimationDrawable

时间:2010-07-13 13:02:08

标签: android animation drawable

我正在创建一个图库视图,我正在从网上加载图片。在加载图像时,我想将动画显示为每个图像的占位符。我想这可以使用AnimationDrawable完成,但是动画不会启动。动画的第一帧按预期加载,如果我在活动中使用相同的onWindowFoucsChanged,一切正常。

在我的GalleryItemCursorAdapter(扩展SimpleCursorAdapter)的getView方法中,我有以下片段:

AnimationDrawable frameAnimation = (AnimationDrawable) mContext.getResources().getDrawable(R.drawable.loading);
    holder.picture.setImageDrawable(frameAnimation);
    frameAnimation.setCallback(holder.picture);
    frameAnimation.setVisible(true, true);
    frameAnimation.start();     

holder.picture是一个ImageView。我没有错误,(非常)类似的代码似乎在其他地方工作得很好,让我相信这可能与其他地方报道的动画的onCreate问题类似。我也尝试了上述代码的一些变体。

我的问题:

  1. 是否有更简单/更好的方式来显示加载动画?
  2. 如果能够使上述示例正常工作(如果可能的话),我该怎么做?

1 个答案:

答案 0 :(得分:1)

创建一个新线程并开始..

new Thread(new Runnable() {
    public void run(){
        // some code that runs outside the ui thread.
        frameAnimation.start();
    }
}).start();