从这个答案中尝试了很多事情: 如何在 Flutter 中拉伸图像以适应整个背景(100% 高度 x 100% 宽度)? 但没有任何效果。我得到的最接近的是使用 Position.fill,但这双向拉伸了它。
这是我最新的迭代,似乎没有效果,图像与图像大小相同,没有拉伸:
Widget build(BuildContext context) =>
Padding(
padding: EdgeInsets.only(left: 16, right: 16),
child: Stack(children: [
Flex(direction: Axis.vertical, children: <Widget>[
SvgPicture.asset(
'assets/icons/comments/lineVerticalReply.svg',
fit: BoxFit.fitHeight,
),
]),
Column(children: [
//... bunch of stuff simulated by:
SizedBox(width: 200, height:200)
]),
]),
);
我尝试过的事情:
Flex in combination with Expanded
FittedBox
Containers with boxConstraints
Positioned.fill <-- closest attempt
combinations of the above, and other stuff I've forgotten
问题是
Stack
小部件的大小由 SvgPicture
小部件的兄弟部件决定。所以我希望 SvgPicture 的高度能够响应堆栈的高度,该高度由堆栈中最大的项目决定。
这是如何做到的?
指定定位的“底部”做了我想要的,我发誓我首先尝试过,但我一定是错了,也许我在没有 fitHeight 的情况下尝试了它,idk:
Stack(children: [
Positioned(
top: 0,
left: 19,
bottom: 0,
child: Container(
width: 2,
child: SvgPicture.asset(
'assets/icons/comments/lineVerticalReply.svg',
fit: BoxFit.fitHeight,
),
),
),
...