我正在使用Stepper小部件,并且正在使用Text小部件作为title参数。
我用于文本的字符串很长,我希望将其包装成多行。我怎样才能做到这一点?
这是我用来构建此代码的代码:
@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(),
),
);
Run Code Online (Sandbox Code Playgroud)
这可能不是最佳解决方案,但这对我来说是唯一的工作。
用容器包围“文本”小部件,并根据“屏幕大小”设置其最大宽度。
屏幕尺寸-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(),
Run Code Online (Sandbox Code Playgroud)
小智 6
如果您只想制作多行,请使用flexible:
Flexible (child: Text('Some text here'))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3816 次 |
| 最近记录: |