我正在尝试对 Stack
小部件中使用的文本进行换行。
这是我目前所拥有的。如果我用 Text
包裹 Container
并将其包裹在 Expanded
小部件中,它会包裹但不再应用该位置并抛出 Incorrect use of ParentDataWidget
。有什么建议么?
`
Stack(
alignment: Alignment.center,
children: [
ShaderMask(
shaderCallback: (rect) {
return LinearGradient(
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
colors: [Colors.black, Colors.transparent],
).createShader(
Rect.fromLTRB(0, 0, rect.width, rect.height));
},
blendMode: BlendMode.dstIn,
child: Image.network(
'https://placeimg.com/640/480/any',
height: 330,
fit: BoxFit.fill,
),
),
Positioned(
bottom: 5.0,
child: Expanded(
child: Container(
alignment: Alignment.center,
child: Text(
widget.content.title.toUpperCase(),
style: TextStyle(
fontSize: 20.0,
fontWeight: FontWeight.bold,
),
textAlign: TextAlign.center,
),
),
),
),
],
),
答案 0 :(得分:0)
使用扩展小部件可以创建行、列或 Flex 的子项...(来自文档 https://api.flutter.dev/flutter/widgets/Expanded-class.html)。
也许它不适用于 Stack。 试着把它放在一个列下。 或者包装到同一列中的容器并使用它们之间的空间。