2015-08-03 130 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次,對吧?改變第一個和迴歸,第二個和第三個。 –