Я хочу создать Row
во флаттере с максимальной высотой своего старшего потомка. Другие маленькие дети должны растягиваться в доступном пространстве.
Я пытался использовать CrossAxisAlignment.stretch
и MainAxisSize.min
на Row
:
Row(
crossAxisAlignment: CrossAxisAlignment.stretch,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
mainAxisSize: MainAxisSize.min,
children: [
Container(child: Text("1")),
Container(child: SizedBox(height: 200))
]);
В этом случае Container
с Text
должен растягиваться до тех пор, пока не достигнет Container
с SizedBox
.
Однако это приводит к исключению времени выполнения:
flutter: The following RenderObject was being processed when the exception was fired:
flutter: RenderFlex#93aae relayoutBoundary=up5 NEEDS-LAYOUT NEEDS-PAINT
flutter: creator: Row ← Column ← Column ← Padding ← Expanded ← Row ← Builder ← MediaQuery ←
flutter: LayoutId-[<_ScaffoldSlot.body>] ← CustomMultiChildLayout ← AnimatedBuilder ← DefaultTextStyle ← ⋯
flutter: parentData: offset=Offset(0.0, 0.0); flex=null; fit=null (can use size)
flutter: constraints: BoxConstraints(0.0<=w<=174.3, 0.0<=h<=Infinity)
flutter: size: MISSING
flutter: direction: horizontal
flutter: mainAxisAlignment: spaceBetween
flutter: mainAxisSize: min
flutter: crossAxisAlignment: stretch
flutter: textDirection: ltr
flutter: verticalDirection: down
flutter: This RenderObject had the following descendants (showing up to depth 5):
flutter: RenderDecoratedBox#2c670 NEEDS-LAYOUT NEEDS-PAINT
flutter: RenderPadding#94471 NEEDS-LAYOUT NEEDS-PAINT
flutter: RenderPositionedBox#38d50 NEEDS-LAYOUT NEEDS-PAINT
flutter: RenderFlex#c2d46 NEEDS-LAYOUT NEEDS-PAINT
flutter: RenderPadding#e6dc8 NEEDS-LAYOUT NEEDS-PAINT
flutter: RenderParagraph#d7b38 NEEDS-LAYOUT NEEDS-PAINT
flutter: RenderConstrainedBox#a7e45 NEEDS-LAYOUT NEEDS-PAINT
flutter: RenderDecoratedBox#31487 NEEDS-LAYOUT NEEDS-PAINT
flutter: RenderPadding#0cf57 NEEDS-LAYOUT NEEDS-PAINT
flutter: RenderPositionedBox#df396 NEEDS-LAYOUT NEEDS-PAINT
flutter: RenderParagraph#868d2 NEEDS-LAYOUT NEEDS-PAINT
Если я прав, то это исключение говорит мне, что Row
пытается расшириться до бесконечности, потому что оно не ограничено.
Я не получаю исключения при переносе Row
в SizedBox(height: x)
виджет, однако это не то, чего я хочу достичь.
Есть ли какой-нибудь виджет или трюк, которые могли бы помочь мне решить мою проблему?