Flutter에서는 부모 위젯의 사이즈를 명시적으로 설정하지 않고, 자식 위젯이 이를 따라가도록 할 수 있습니다. 이런 상황에서 유용한 두 가지 위젯이 있습니다: IntrinsicHeight와 LayoutBuilder. 각각의 사용법과 특성을 살펴보겠습니다.

IntrinsicHeight 위젯

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 위젯

LayoutBuilder 위젯은 부모 위젯의 제약 조건을 알 수 있게 해주고, 이 정보에 따라 자식 위젯의 레이아웃을 동적으로 결정할 수 있습니다. 이 위젯을 사용하면 부모의 크기에 맞춰 자식의 크기를 조정하는 유연한 레이아웃 구성이 가능합니다.