2015-08-03 133 views
-1

我正在制作一个activity与很多buttons如何更改按钮颜色

我想在点击其他button时使buttons闪烁。

例如,有四个按钮。 (A,B,C,D)

当单击button A时,Button B将其颜色更改为100 ms并恢复。

并且在button B恢复其颜色后,button C再次执行,button D也执行。

我发现如何让延迟,并坚持这一点。

final Handler handler = new Handler(); 
handler.postDelayed(new Runnable() { 
    @Override 
    public void run() { 
    //Do something after 100ms 
    } 
}, 100); 

How to call a method after a delay in Android

这是问题。

我应该使用什么方法?

回答

1

这里的钓鱼杆(不是鱼) - >你需要做的是在你的runnable中对你想要的按钮setBackground()setBackgroundResource()(介意API版本!),然后再触发另一个可运行的延迟)。第二个可运行的应该再次执行setBackground()/setBackgroundResource()并恢复以前的内容。当然,你可以通过一个runnable(自己运行)和两个条件来完成。

+0

我很困惑这....你的意思是我需要使用问题中的代码? –

+0

是的。你从你的问题中解释代码,因为你需要在UI线程上延迟和完成工作。当然,你需要添加一些代码来实际做更改,但这是正确的方式来发布延迟的任务,比如这一个 –

+0

所以我需要使用该代码6次,对吧?改变第一个和回归,第二个和第三个。 –