【问题标题】:Updating Button background for a brief time in Android (higlight it)在 Android 中短暂更新 Button 背景(突出显示)
【发布时间】:2010-09-22 20:45:39
【问题描述】:

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

我的代码如下所示:

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秒,但之前没有改变背景图片。事实上,它只会在之后更改为“旧值”。

如何构建这个高亮功能?

【问题讨论】:

    标签: java android multithreading


    【解决方案1】:

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

    【讨论】:

    • 这不起作用。它仍然只将颜色更改为“旧值”行中指定的颜色。我认为这是某种线程问题,因为当我调用第一个无效时,我暂停了没有刷新背景的 UI 线程,然后暂停,然后获取新的(旧值)背景并显示这个
    猜你喜欢
    • 1970-01-01
    • 2017-02-04
    • 2018-12-23
    • 2015-11-21
    • 1970-01-01
    • 2014-03-08
    • 1970-01-01
    • 1970-01-01
    • 2013-03-23
    相关资源
    最近更新 更多