flutter 根据 Stack 的大小在 Stack 中垂直拉伸 SVG

问题描述 投票:0回答:1

从这个答案中尝试了很多事情: 如何在 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 的高度能够响应堆栈的高度,该高度由堆栈中最大的项目决定。

这是如何做到的?

flutter stack stretch
1个回答
0
投票

指定定位的“底部”做了我想要的,我发誓我首先尝试过,但我一定是错了,也许我在没有 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,
              ),
            ),
          ),
...
© www.soinside.com 2019 - 2024. All rights reserved.