1. FractionallySizedBox. Позволяет задать размер дочернего виджета как долю от размера родителя (по ширине и/или высоте).
Use case: когда нужно, чтобы кнопка или контейнер занимали, например, 80% ширины родителя без hardcoded значений.
FractionallySizedBox(
widthFactor: 0.8,
child: ElevatedButton(
onPressed: () {},
child: Text("Continue"),
),
)
Помогает сохранять пропорции на разных экранах и устройствах → UI выглядит консистентно и адаптивно.
2. FittedBox. Масштабирует дочерний виджет так, чтобы он вписался в доступное пространство, сохраняя пропорции (
aspect ratio).Use case: когда нужно вписать крупный текст или иконку в небольшую карточку или контейнер без overflow.
FittedBox(
child: Text(
"Responsive Title",
style: TextStyle(fontSize: 40),
),
)
Предотвращает ошибки переполнения (overflow) и гарантирует корректное масштабирование UI.
Что возьмете в работу?
