0

在此处输入图像描述在此处输入图像描述

我正在使用 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;
                        }
                    }
                    }
            }
    }
4

1 回答 1

1

是我应用的 ViewFlipper 以获得我的轮播效果,我稍微调整了动画以使其完全符合我想要的效果。所以是的 ViewFlipper 是你的答案。

于 2013-01-14T00:18:24.117 回答