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

我想您在从系统到您的应用程序的回调之一中运行它,例如点击处理程序。Android 会累积您所做的所有更改并在此回调返回后应用它们。

您可以做的是编写一个 AsyncTask ,在其 onPublishProgess 方法中进行颜色更改,然后执行 doInBackground 循环并等待并发布进度。

于 2012-09-27T12:12:24.820 回答