调整父窗口小部件的大小以适合Flutter中的子发布'Transform'

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

我正在颤抖中使用变换来创建滚动轮播,以从各种选项中进行选择。

这使用了ListView.builder之类的标准元素,除了Transform的父窗口小部件未按比例缩小以适应内容(如此处所示:)之外,它们都可以正常工作。

notice the gaps around the perspective transforms

这是用于生成“卡”的代码(实际上那里有一个卡,但是我已经剥离了它,以尝试使所有内容正确缩放):

    return Align(
      child: Transform(
        alignment: Alignment.center,
        transform: mat,
        child: Container(
          height: 220,
          color: color,
          width: MediaQuery.of(context).size.width * 0.7,
          child: Text(
            offset.toString(),
            style: TextStyle(color: Colors.white, fontSize: 12.0),
          ),
        ),
      ),
    );
  }

即使删除了Container的'height'参数(因此所有内容都可以缩放以适合'Text'小部件),包含Transform小部件的框周围仍然有空隙。

Flutter似乎没有任何文档来说明如果转换了对象,如何重新缩放父对象-这里的任何人都知道或有解决方法的想法?

flutter flutter-layout flutter-animation
1个回答
0
投票

正如我在您的代码中所见,您为什么使用Align,所以没有设置或使用属性来对齐任何内容。因此,请尝试删除围绕Transform的Align小部件。因为根据文档,Transform就是这样一种小部件,它试图与其子代的大小相同。这样就可以满足您的要求。

有关更多信息,请查看此文档:https://flutter.dev/docs/development/ui/layout/box-constraints

希望对您有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.