Я создаю баннер подключения в приложении для отображения состояния подключения.
Я хочу анимировать с 3 состояниями:
(Из ничего на экране)
Нет связи: исчезает красный «автономный» баннер.
Нет связи -> Связь: переход на зеленый «онлайн» баннер.
Через 2 секунды зеленое знамя исчезает.
Я попробую использовать AnimatedContainer
, и эта работа для анимации с красного на зеленый.
Также попробуйте использовать AnimatedCrossFade
:
AnimatedCrossFade(
firstChild: _offlineBanner(),
secondChild: _onlineBanner(),
crossFadeState: !connected? CrossFadeState.showFirst : CrossFadeState.showSecond,
duration: const Duration(seconds: 2),
),
Но это среднее значение Banner
всегда отображается. Не может исчезнуть ни к чему. В основном мне нужно thirdChild: Container(),
в AnimatedCrossFade
, но у него нет этой функции.
Таким образом, проблема не может решить, как ничего не отображать, если подключение установлено, а не изменено. Итак, у меня проблема с шагами 0-1 и 2-3.
Как это сделать?
Спасибо!