Java 在Android中短暂更新按钮背景(higlight it)

Java 在Android中短暂更新按钮背景(higlight it),java,android,multithreading,Java,Android,Multithreading,我有一个按钮,我想在短时间内突出显示它。例如,它是一个红色按钮,它应该是橙色的一秒钟,然后再次变为红色 我的代码如下所示: button.setBackgroundResource(R.color.orange); //highlight value button.invalidate(); try { Thread.sleep(3000); } catch (InterruptedException e1)

我有一个按钮,我想在短时间内突出显示它。例如,它是一个红色按钮,它应该是橙色的一秒钟,然后再次变为红色

我的代码如下所示:

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秒,但之前背景图像未更改。事实上,它只是后来才变成“旧价值”


如何构建此突出显示功能?

您可以尝试添加突出显示之类的操作。您可以使用几种不同的PorterDuff模式,看看您喜欢哪种结果。

这不起作用。它仍然只会将颜色更改为“旧值”行中指定的颜色。我认为这是某种线程问题,因为我暂停了UI线程,当我调用第一个invalidate时,它没有刷新背景,然后暂停,然后获取新的(旧值)背景并显示它