Flutter에서는 부모 위젯의 사이즈를 명시적으로 설정하지 않고, 자식 위젯이 이를 따라가도록 할 수 있습니다. 이런 상황에서 유용한 두 가지 위젯이 있습니다: IntrinsicHeight
와 LayoutBuilder
. 각각의 사용법과 특성을 살펴보겠습니다.
IntrinsicHeight
위젯은 자식 위젯들 중 가장 큰 높이를 가진 위젯에 맞춰, 다른 자식 위젯들도 동일한 높이를 가지도록 만듭니다. 이 위젯은 Row
나 Column
안에서 자식들의 높이를 맞춰야 할 때 유용하게 사용할 수 있습니다.
dart코드 복사
IntrinsicHeight(
child: Row(
children: [
Expanded(
child: Container(
color: Colors.red,
child: Text('길게 이어진 텍스트입니다.'),
),
),
Container(
width: 100,
color: Colors.blue,
child: Icon(Icons.star),
),
],
),
)
LayoutBuilder
위젯은 부모 위젯의 제약 조건을 알 수 있게 해주고, 이 정보에 따라 자식 위젯의 레이아웃을 동적으로 결정할 수 있습니다. 이 위젯을 사용하면 부모의 크기에 맞춰 자식의 크기를 조정하는 유연한 레이아웃 구성이 가능합니다.