动画无法启动

时间:2011-11-03 20:21:10

标签: android

任何人都可以看到我做错了什么。我创建一个动画,加载50帧。尝试启动它,但没有任何反应。最初的起始帧就在那里,但没有任何反应。我打印了动画对象拥有的帧数,它表示50。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    ShowCircle(50);
}
public void ShowCircle(final int percentage){

        final ImageView ring = (ImageView)findViewById(R.id.ring);

        animation = new AnimationDrawable();
        ring.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                for(int i = 0; i != percentage; i++){
                    try
                    {           
                        final int id = R.drawable.class.getField("rings_" + i).getInt(0);
                        animation.addFrame(getResources().getDrawable(id), 100);
                    }
                    catch(NoSuchFieldException n)
                    {
                        MessageBox(n.toString());
                    }
                    catch(IllegalAccessException e)
                    {
                        MessageBox(e.toString());
                    }
                }
                animation.setOneShot(false);
                ring.setBackgroundDrawable(animation);
                ring.post(new Starter());
                MessageBox("# of frames: " + Integer.toString(animation.getNumberOfFrames()));
            }
        });
    }

    class Starter implements Runnable{
        public void run(){
            animation.start();
        }
    }

1 个答案:

答案 0 :(得分:0)

好的,愚蠢的我,ImageView有一个默认图像。动画图像仅设置为背景,这就是为什么它永远不可见......