반응형
질문
텍스트가 커짐에 따라 텍스트를 랩하려고합니다. 거의 모든 것으로 랩을 시도했지만 텍스트는 여전히 한 줄로 유지되며 화면에서 벗어납니다. 이를 어떻게 달성할 수 있는지 아시는 분 계십니까? 도움이 매우 감사합니다!
Positioned(
left: position.dx,
top: position.dy,
child: new Draggable(
data: widget.index,
onDragStarted: widget.setDragging,
onDraggableCanceled: (velocity, offset) {
setState(() {
position = offset;
widget.secondCallback(offset, widget.index);
widget.endDragging();
});
},
child: new GestureDetector(
onTap: () {
widget.callback(widget.caption, widget.index);
},
child: new Text(
widget.caption.caption,
style: new TextStyle(
color: widget.caption.color,
fontSize: widget.caption.fontSize,
),
),
),
feedback: new Material(
type: MaterialType.transparency,
child: new Text(
widget.caption.caption,
style: new TextStyle(
color: widget.caption.color,
fontSize: widget.caption.fontSize),
softWrap: true,
),
),
));
답변
Flexible
은 해결책입니다.
new Container(
child: Row(
children: <Widget>[
Flexible(
child: new Text("A looooooooooooooooooong text"))
],
));
위젯을 배열하는 방법에 대한 공식 문서는 https://flutter.dev/docs/development/ui/layout#lay-out-multiple-widgets-vertically-and-horizontally입니다.
Flexible
과 Expanded
는 Column
, Row
, 또는 Flex
내에서만 사용해야합니다. 그렇지 않으면 ParentDataWidget
이 잘못 사용됩니다.
해결책은 단순히 Flexible
이 아닙니다.
반응형
댓글