更改Android应用程序中按钮的背景颜色

时间:2011-10-31 17:45:37

标签: java android android-activity

我想点击按钮时更改按钮的背景颜色。我的目标是颜色应该改变5秒,然后再改变为另一种颜色。

按钮的原始颜色为黄色。

以下是我尝试过的代码的一部分:

public void click(View view){
  myTestButton = (Button)view;
  myTestButton.setBackgroundColor(Color.BLUE);
  //*Wait lines;*
  myTestButton.setBackgroundColor(Color.RED);
}

按钮将颜色变为红色但从不变为蓝色。我怀疑视图直到稍后才会刷新。我希望在等待行之前刷新按钮。 我也试过myTestButton.invalidate(),但无济于事。

提前感谢您提供一些很棒的建议!!

1 个答案:

答案 0 :(得分:2)

你在“等待线”中使用了什么?我想那里有一个问题,因为你可能不会导致你的UI线程在那里睡觉,并且这个方法(onClick)由你的UI线程调用。

我建议你使用方法View.postDelayed(Runnable action, long delayMills来做到这一点。 例如:

myTestButton.postDelayed(new Runnable() {
    public void run() {
        myTestButton.setBackgroundColor(Color.RED);
    }
}

请注意,您在onClick方法中将myTestButton声明为final