代码之家  ›  专栏  ›  技术社区  ›  Gunnar Lium

如何在getView和Gallery中使用AnimationDrawable

  •  3
  • Gunnar Lium  · 技术社区  · 14 年前

    我正在创建一个图库视图,在这里我可以从网上加载图像。在加载图像时,我希望将动画显示为每个图像的占位符。我想这可以用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();     
    

    照片持有人是一个ImageView。我没有发现错误,而且(非常)相似的代码在其他地方也能正常工作,这让我相信这可能与其他地方报道的动画onCreate问题类似。我也尝试过上面代码的一些变体。

    我的问题:

    1. 我能做些什么使上面的例子起作用(如果可能的话)?
    1 回复  |  直到 14 年前
        1
  •  1
  •   Anton Moiseev sandeep    13 年前

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

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