This commit is contained in:
Ilya Kantor 2016-11-14 23:41:18 +03:00
parent f99574f53b
commit b0976b5253
153 changed files with 590 additions and 533 deletions

View file

@ -0,0 +1,15 @@
importance: 5
---
# Меню с таймером для анимации
Есть класс `Menu`. У него может быть два состояния: открыто `STATE_OPEN` и закрыто `STATE_CLOSED`.
Создайте наследника `AnimatingMenu`, который добавляет третье состояние `STATE_ANIMATING`.
- При вызове `open()` состояние меняется на `STATE_ANIMATING`, а через 1 секунду, по таймеру, открытие завершается вызовом `open()` родителя.
- Вызов `close()` при необходимости отменяет таймер анимации (назначаемый в `open`) и передаёт вызов родительскому `close`.
- Метод `showState` для нового состояния выводит `"анимация"`, для остальных -- полагается на родителя.
[edit src="source" title="Исходный документ, вместе с тестом"]