临时在按钮上设置背景色

时间:2018-11-22 19:49:58

标签: java android

有人知道如何在Button上临时设置背景颜色。

buttons[randomI][randomJ].setBackgroundColor(Color.rgb(155, 17, 30));

这里是我所拥有的,但我只想在一定时间内设置背景色。我知道解决此问题的方法是在一定时间后删除背景颜色,但我不知道如何删除背景颜色。我引用了How to get JButton default background color?,但解决方案对我不起作用。

最重要的答案:

btn.setBackground(new JButton().getBackground());

JButton对我而言不存在,使用new Button()。getBackground表示它无法解析构造函数。那么有什么办法可以临时设置背景颜色?

1 个答案:

答案 0 :(得分:0)

存储Button的先前颜色:

int color = 0; // Black default
Drawable drawable = buttons[randomI][randomJ].getBackground();
if (drawable instanceof ColorDrawable) {
    color = ((ColorDrawable) drawable).getColor();
}

临时设置新颜色:

buttons[randomI][randomJ].setBackgroundColor(Color.rgb(155, 17, 30));

并在一段时间后恢复初始颜色:

buttons[randomI][randomJ].setBackgroundColor(color);