2010-09-22 18 views
0

我有一个按钮,我想在短时间内突出显示它。对于例如它是一个红色的按钮,它应该是橙色的一秒钟,然后再次变成红色。在Android中更新按钮背景短时间(higlight it)

我给这家代码如下所示:

button.setBackgroundResource(R.color.orange); //highlight value 
button.invalidate(); 
      try { 
       Thread.sleep(3000); 
      } catch (InterruptedException e1) { 
      } 
button.setBackgroundResource(R.color.red); //old value 
button.invalidate(); 

这是行不通的。当前线程暂停3秒,但之前没有更改背景图像。事实上,它只是在后来改变为“旧价值”。

我该如何构建这个高亮功能?

回答

0

您可以改为尝试诸如this answer之类的内容来添加高亮。你可以玩一些不同的PorterDuff模式,看看你喜欢哪个结果。

+0

这不起作用。它只会将颜色更改为“旧值”行中指定的颜色。我认为这是某种线程问题,因为我暂停了当我调用第一个invalidate时未刷新背景的UI线程,然后暂停并获取新(旧值)背景并显示此内容 – Daniel 2010-09-23 18:35:56