我正在使用Stepper
小部件,并且我使用Text
小部件作为标题参数。
我用于文本的字符串很长,我喜欢用多行包装文本。我怎么能这样做?
以下是我用来构建此代码的代码:
@override
Widget build(BuildContext context) => Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Stepper(
currentStep: currentStepIndex,
onStepContinue: () => setState(() => currentStepIndex++),
onStepTapped: (int index) => setState(() => currentStepIndex = index),
steps: questions
.map((String q) => Step(
title: Text(q),
content: QuestionWidget(),
))
.toList(),
),
);
答案 0 :(得分:5)
这可能不是最佳解决方案,但这是唯一适用于我的方法。
使用Container环绕Text小部件,并根据屏幕大小设置它的最大宽度。
屏幕大小 - 84似乎是避免溢出的最小值。我已在2台设备上测试过它并且工作正常。
steps: widget.questions
.map(
(String q) => Step(
title: new Container(
constraints: new BoxConstraints(
maxWidth: MediaQuery.of(context).size.width - 84),
child: Text(q),
),
content: new Container(),
),
)
.toList(),
答案 1 :(得分:3)
如果您只想写多行,请使用flexible:
Flexible (child: Text('Some text here'))
答案 2 :(得分:0)
这是softWrap功能
child: Text("text",softWrap: true,),