2015-08-03 3 views
-1

Я делал activity с большим количеством buttons.Как изменить цвет кнопки с задержкой

Я хочу сделать вспышку buttons, когда щелкнули другую кнопку button.

Например, есть четыре кнопки. (А, В, С, D)

Когда button А нажата, Button B меняет свой цвет в течение 100 мс и вернуться.

И после 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!) На нужную кнопку, а затем запустите другую с задержкой). Второй runnable должен снова сделать setBackground()/setBackgroundResource() и восстановить то, что было ранее. Конечно, вы можете сделать это с помощью одной runnable (работает сам) и пары условий тоже.

+0

Я в замешательстве с этим .... Вы имеете в виду, что мне нужно использовать код в вопросе? –

+0

Да. вы запускаете код из своего вопроса, потому что вам нужна работа с задержкой и по потоку пользовательского интерфейса. Конечно, вам нужно добавить код для фактического изменения, но это правильный способ запуска отложенных задач, таких как этот –

+0

Так что мне нужно использовать этот код 6 раз, не так ли? Изменение первого и возвращение, а второе и третье. –

Смежные вопросы