Ответ
Container — это универсальный виджет-контейнер в Flutter, который объединяет в себе возможности управления layout, отступами, оформлением и трансформациями. По сути, это удобная обёртка, комбинирующая несколько базовых виджетов (Padding, Align, DecoratedBox, ConstrainedBox и др.).
Ключевые свойства и их применение:
child: Единственный дочерний виджет.padding(внутренний отступ) иmargin(внешний отступ): ПринимаютEdgeInsets.Container( margin: EdgeInsets.all(12.0), // Отступ снаружи padding: EdgeInsets.symmetric(horizontal: 16.0, vertical: 8.0), // Отступ внутри child: Text('Content'), )decoration: Определяет фон, границы, тени, градиенты. ИспользуетBoxDecoration. Важно: Если задаётеdecoration, цвет фона нужно указывать внутри него (colorсвойствоContainerбудет проигнорировано).Container( decoration: BoxDecoration( color: Colors.blue[100], // Фон borderRadius: BorderRadius.circular(12.0), border: Border.all(color: Colors.blue, width: 2.0), boxShadow: [ BoxShadow(color: Colors.grey, blurRadius: 4.0, offset: Offset(2, 2)), ], ), child: ... )constraints: Ограничения на размер (минимальная/максимальная ширина/высота) черезBoxConstraints.widthиheight: Прямое задание размеров. Если не заданы,Container«схлопывается» вокруг своегоchildс учётомpadding.alignment: Выравнивание дочернего виджета внутри контейнера (Alignment.center,Alignment.topRightи т.д.).transform: Применяет матричную трансформацию (например, поворот, масштабирование) к контейнеру.
Практическое правило: Container — это ваш «швейцарский нож» для быстрой стилизации и позиционирования одиночных виджетов. Для сложных раскладок из нескольких детей используйте Row, Column или Stack.