반응형
질문
나는 사용자가 콘텐츠를 추가하는 동안 콘텐츠가 커지면 최소 크기에서 시작하여 최대 크기까지 성장하고 멈추도록하려는 컨테이너가 있습니다.
이 경우 올바른 위젯은 다음과 같은 ConstrainedBox입니다:
new ConstrainedBox(
constraints: new BoxConstraints(
minHeight: 35.0,
maxHeight: 60.0,
),
child: ...grow content를 가진 자식(기본 높이 25.0)...
),
그러나이 방법은 박스를 maxHeight에서 시작합니다.
hasBoundedHeight를 사용해보려고했지만 올바른 구문을 구성하거나 문서에서 예제를 찾을 수 없습니다.
설명 된대로 상자를 작동하는 가장 좋은 방법은 무엇인가요?
답변
"Starts from max/min size"라는 개념은 없습니다.
사실, ContrainedBox
는 자식에게만 제약 조건을 추가합니다. 그러나 마지막에는 크기를 선택하지 않습니다.
만약 자식이 minSize에 도달하길 원한다면, 확장해서는 안 됩니다. double.INFINITY의 폭/높이를 가지고 있지 않아야 합니다. 사실, Container
를 비롯한 많은 위젯의 기본값이 double.INFINITY입니다.
반면에, DecoratedBox
와 같은 일부 위젯은 기본 크기가 0입니다.
즉, 이 코드 :
return new ConstrainedBox(
constraints: new BoxConstraints(
minHeight: 5.0,
minWidth: 5.0,
maxHeight: 30.0,
maxWidth: 30.0,
),
child: new DecoratedBox(
decoration: new BoxDecoration(color: Colors.red),
),
);
5.0*5.0 크기의 빨간색 정사각형을 렌더링합니다.
반응형
댓글