Для этого можно использовать LayoutBuilder
. Этот виджет имеет параметр построителя, который вызывается при изменении ограничений макета.
LayoutBuilder(
builder: (context, constraints) {
},
)
Ограничения предоставляют параметры, которые позволяют вашему приложению понять, сколько места доступно
constraints.maxWidth; // get maximum available width
constraints.maxHeight; // get maximum available height
constraints.minWidth; // get minimum available width
constraints.minHeight; // get minimum available height
Они могут может использоваться для условного изменения макета в зависимости от доступного пространства и перестроений во время макета.
В качестве альтернативы вы можете использовать просто MediaQuery
. Вы можете получить ширину:
MediaQuery.of(context).size.width;
и высоту:
MediaQuery.of(context).size.height;
Однако эти вызовы должны выполняться в методе build
, чтобы размеры изменялись при каждой перестройке.