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 に答える