1

ボタンを特定の順序でフェードインしようとしています。毎回 1 つのボタンがフェードしますが、コードが終了すると、ボタンはすべて一緒にフェードインします。各フェード順序の後に Thread.sleep を使用しようとしましたが、まったく役に立ちません。誰かがアイデアを持っていますか?

コード:

 for(int i=0;i<counter;i++)

    {

        switch (entered[i]) {
        case 1:
            ImageView myImageView1= (ImageView)findViewById(R.id.red_button);
            Animation myFadeInAnimation1 = AnimationUtils.loadAnimation(this, R.anim.fadein);
            myImageView1.startAnimation(myFadeInAnimation1); //Set animation to your ImageView
            break;

        case 2:
            ImageView myImageView2= (ImageView)findViewById(R.id.yellow_button);
            Animation myFadeInAnimation2 = AnimationUtils.loadAnimation(this, R.anim.fadein);
            myImageView2.startAnimation(myFadeInAnimation2); //Set animation to your ImageView
            break;  
        case 3:
            ImageView myImageView3= (ImageView)findViewById(R.id.green_button);
            Animation myFadeInAnimation3 = AnimationUtils.loadAnimation(this, R.anim.fadein);
            myImageView3.startAnimation(myFadeInAnimation3); //Set animation to your ImageView
            break;  
        case 4:
            ImageView myImageView4= (ImageView)findViewById(R.id.blue_button);
            Animation myFadeInAnimation4 = AnimationUtils.loadAnimation(this, R.anim.fadein);
            myImageView4.startAnimation(myFadeInAnimation4); //Set animation to your ImageView
            break;
        default:
            //finish();
            break;
        }

        try {
            Thread.sleep(3000);    // one second
        }

        catch (Exception e) {} 

    }
4

1 に答える 1

0

システムからアプリへのコールバックの 1 つで、たとえば on-click-handler のようにそれを実行するとします。Android は、行ったすべての変更を蓄積し、このコールバックが返された後に適用します。

あなたができることは、その onPublishProgess メソッドで色の変更を行う AsyncTask を記述し、次に doInBackground ループを実行して進行状況を待機および公開することです。

于 2012-09-27T12:12:24.820 に答える