본문 바로가기

flutter

BoxConstraints forces an infinite width

@override
  Widget build(BuildContext context) {
    bool isDark = context.watch<ThemeCubit>().state.isDark;
    return Stack(
      children: [
        Container(
          width: double.infinity,
          padding: const EdgeInsets.all(12),
          decoration: BoxDecoration(
              borderRadius: BorderRadius.circular(4),
              border: Border.all(
                  color: isDark ? ColorPalette.borderDark : ColorPalette.border)),
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: [
              _title(isDark),
              eHeight(6),
              _intro(isDark),
              eHeight(6),
              _participation(isDark),
              eHeight(50),
            ],
          ),
        ),
        Positioned(
          bottom: 0,
          child: Container(
            width: double.infinity,
            height: 36,
            decoration: BoxDecoration(
              borderRadius: BorderRadius.vertical(bottom: Radius.circular(4)),
              color: isDark ? ColorPalette.pointDark : ColorPalette.point,
            ),
          ),
        )
      ],
    );
  }

위와 같이 Stack 위젯 내부에서 Positioned 위젯으로 감싸는 Container의 width를 double.infinity로 했을때 아래와 같은 에러가 발생

Positioned(
          bottom: 0,
          left: 0,
          right: 0,
          child: Container(
            height: 36,
            decoration: BoxDecoration(
              borderRadius: BorderRadius.vertical(bottom: Radius.circular(4)),
              color: isDark ? ColorPalette.pointDark : ColorPalette.point,
            ),
          ),
        )

Positioned의 left와 right를 지정하여 해결

'flutter' 카테고리의 다른 글

singleton  (0) 2022.06.14
flutter 해당 위젯 코드 쉽게 찾기  (0) 2022.05.31
IntrinsicWidth, UnconstrainedBox  (0) 2022.05.23
TextStyle 정의하기  (0) 2022.05.19
flutter + firebase 연동하기  (0) 2022.05.13