AnimationDrawable创建一个无限循环

时间:2013-01-13 23:39:27

标签: android infinite-loop animationdrawable

enter image description here enter image description here

我正在使用AnimationDrawable来创建逐帧效果,我希望当图像发生变化时,圆点会一起变化,我的代码会创建一个无限循环,如果我下车While(mframeAnimation.isRunning())那么它只是检查重视一次并停止。

问题:

那么我应该怎么做才能创建一个无限的检查,一个监听器或类似的东西来改变图像变化时的圆圈?

 private void selectDot(int arg2) {
            // TODO Auto-generated method stub
            for(int i=0;i<imageView.length;i++){
              if(i==arg2) imageView[i].setImageResource(R.drawable.black_circle);
              else imageView[i].setImageResource(R.drawable.gray_circle);
             }
        }

        class Starter implements Runnable {
            public void run() {
                mframeAnimation.start();
                while(mframeAnimation.isRunning()){
                    // Get the frame of the animation
                    Drawable currentFrame, checkFrame;
                    currentFrame = mframeAnimation.getCurrent();

                    int frameNumber;
                    // Checks the position of the frame
                    for (int i = 0; i < mframeAnimation.getNumberOfFrames(); i++) {
                        checkFrame = mframeAnimation.getFrame(i);
                        if (checkFrame == currentFrame) {
                            frameNumber = i;
    //                      Toast.makeText(getActivity(), Integer.toString(frameNumber), Toast.LENGTH_SHORT).show();
                            selectDot(frameNumber);
                            break;
                        }
                    }
                    }
            }
    }

1 个答案:

答案 0 :(得分:1)

This我应用tp的ViewFlipper得到了我的旋转木马效果,我稍稍调整动画以使其完全符合我的要求。所以是的,ViewFlipper就是你的答案。