Я пытаюсь использовать FractionallySizedBox
внутри Column
, чтобы сделать мое приложение отзывчивым, но я получаю
Needs Layout Error.
Как я могу использовать FractionallySizedBox
внутри Column
?
Как это ошибка? Строки и столбцы не ограничены, то есть у них нет дробей. Если вы хотите сделать часть строки или столбца, вы можете использовать гибкие виджеты и соответствующим образом установить их свойства flex. api.flutter.dev/flutter/widgets/Flexible/flex.html
Вместо этого вы можете использовать LayoutBuilder
.
LayoutBuilder вместо FractionallySizedBox? Как бы вы использовали его в процентах?
LayoutBuilder дает вам размер самых больших границ. После того, как у вас есть размеры, вы можете изменить размер всего в компоновщике на основе размеров, которые вы получаете из аргумента BoxConstraints в фактическом компоновщике. С максимальной высотой вы можете рассчитать все, что вам нужно. Другие варианты используют Rect или RelativeRects, или для некоторых из большинства элементов управления вы можете использовать виджет CustomMultiChildLayout, который делегат, который вы должны создать, имеет параметры для компоновки макета. Или, чтобы использовать столбец/строку, используйте гибкий виджет и не делайте свойство flex нулевым. Любого из них будет достаточно.
Вы должны сообщить об этом как об ошибке, она должна работать внутри строки или столбца.