2015-12-20 39 views
1

我正在寻找改变我的背景颜色一秒后按下按钮来确认是否点击了正确的按钮。后缀,我想将颜色切换回黑色,但是当我使用Thread.sleep()时,它不会在线程休眠之前或之后更改颜色。还有其他建议吗?android背景颜色变化

background.setBackgroundColor(Color.GREEN); 
thread.sleep(1000); 
background.setBackgroundColor(Color.BLACK); 
+0

什么是背景名称? –

+0

使用CountDownTimer执行此任务。 http://developer.android.com/reference/android/os/CountDownTimer.html – MyWay

+0

为什么不只是使用background.postDelayed()? – aelimill

回答

0

修改你的代码是这样的:

background.setBackgroundColor(Color.GREEN); 
Thread thread = new Thread() { 
    @Override 
    public void run() { 
     try { 
      while(true) { 
       sleep(1000); 
      } 
     } catch (InterruptedException e) { 
      e.printStackTrace(); 
     } 
    } 
}; 

thread.start(); 
background.setBackgroundColor(Color.BLACK); 

希望它可以帮助!

+0

这似乎没有得到颜色变化,但仍然让我保持点击不像以前,当我没有申报一个新的线程。尽管我可以提供更多的细节来帮助。目前,此代码位于setOnClickListener的内部,如果正确的按钮被按下,背景颜色将更改为绿色一秒;如果按下了错误的按钮,则会更改为红色。当我用thread.run()而不是thread.start()尝试它时,它无限循环。插入此代码的操作只是屏幕保持黑屏。 –