FractionallySizedBox
위젯은 부모 위젯의 크기에 대한 상대적인 크기로 자식 위젯의 크기를 조정하는 위젯입니다. FractionallySizedBox
위젯은 widthFactor
와 heightFactor
매개변수를 사용하여 자식 위젯의 너비와 높이를 부모 위젯의 너비와 높이의 비율로 지정할 수 있습니다. 예를 들어, widthFactor
가 0.5이면 자식 위젯의 너비는 부모 위젯의 너비의 50%가 됩니다. FractionallySizedBox
위젯은 유동적인 크기를 가지는 위젯을 만들 때 유용합니다. 아래는 FractionallySizedBox
위젯을 사용한 예시 코드입니다:
FractionallySizedBox(
widthFactor: 0.5,
heightFactor: 0.5,
child: Container(
color: Colors.blue,
),
)
위 코드는 부모 위젯의 너비와 높이의 50% 크기를 가지는 파란색 컨테이너를 생성합니다. 자식 위젯의 크기는 부모 위젯의 크기에 대한 상대적인 크기로 지정되기 때문에, 부모 위젯의 크기가 변경되면 자식 위젯의 크기도 함께 변경됩니다. 이를 통해 유동적인 크기를 가지는 위젯을 쉽게 구현할 수 있습니다1
"BoxConstraints forces an infinite width"와 관련된 오류 메시지는 화면 레이아웃에서 제약 조건이 올바르게 설정되지 않았음을 나타냅니다.
FractionallySizedBox
나 Expanded
와 같은 위젯을 사용할 때, 부모 위젯의 제약 조건이 올바르게 설정되어야 합니다. 일반적으로 Expanded
나 FractionallySizedBox
를 사용하는 경우에는 부모 Row
, Column
, 또는 다른 레이아웃 위젯에서 적절한 제약 조건을 설정해야 합니다. 오류를 해결하려면 다음을 고려해 보세요:
** Expanded
나 FractionallySizedBox
를 포함하는 부모 위젯의 Row
, Column
등의 레이아웃 위젯에서 적절한 제약 조건을 설정하세요. 예를 들어, Row
내에서 Expanded
를 사용할 때는 mainAxisSize
를 MainAxisSize.min
으로 설정하여 자식 위젯의 크기가 필요한 만큼만 확장되도록 할 수 있습니다.**