Выбор ответа Senior Анимации обновлено
Flutter: анимация прозрачности
Вопрос
Как дешевле всего анимировать прозрачность большой карточки?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: FadeTransition, которому передана анимация прозрачности. FadeTransition передаёт анимацию прямо в рендер-объект, который меняет альфу слоя: ни build, ни раскладки на каждом кадре.
Варианты ответа
FadeTransition, которому передана анимация прозрачностиправильный ответOpacityвнутриAnimatedBuilder, чтобы перестраивать карточку с новым значением каждый кадрsetStateс пересчётом цвета каждого дочернего виджета карточки на каждом кадреVisibilityсvisible: false, который плавно скрывает поддерево
Разбор
FadeTransition передаёт анимацию прямо в рендер-объект, который меняет альфу слоя: ни build, ни раскладки на каждом кадре. Opacity в AnimatedBuilder перестраивает виджет, и при промежуточных значениях использует дорогой слой. Перекрашивание детей ещё дороже. Visibility просто скрывает без анимации.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.