首页 > 解决方案 > 以编程方式构建技术图纸

问题描述

我刚刚在这个任务上花了大约一个星期,我正在慢慢放弃这个。基本上,我正在尝试为绘图构建一个布局,该布局将根据所选产品类型改变其大小。这是一个非常简单的绘图...... Ax(顶部容器)是一个普通的容器,带有白色边框,固定宽度和高度从容器顶部延伸到轮子底部。轮子(底部容器)也是另一个填充白色的容器,它根据所选产品改变其半径固定尺寸和形状。那是我设法做到的,没有任何问题。问题是添加布局以放置尺寸标注。

1/ 水平注释容器应根据轮宽改变其宽度

2/ 放置用于车轮高度注释的容器,该容器根据车轮高度更改其高度,而用于总长度注释的容器将其高度从斧头容器顶部延伸到车轮容器底部

这是我想要达到的目标的模型 在此处输入图像描述

这是我的代码

Column(
              children: <Widget>[
                AxeBuilder(),
                WheelBuilder(
                  wheelType: WheelType.T,
                ),
                SizedBox(height: 5),
                DimBuilder(
                  plane: Plane.Horizontal,
                  height: 30,
                ),
              ],
            ),

这就是我得到的

在此处输入图像描述

知道我应该怎么做才能让它工作吗?

标签: flutterdart

解决方案


我做到了,这太可怕了。它仍然需要一些抛光,但它的工作原理。给 Flutter 团队的消息:您能否为此在 Flutter 中包含 Grid 容器?(不是已经包含的网格视图)

Container(
          height: 200,
          child: Row(
            children: <Widget>[
              IntrinsicWidth(
                child: Column(
                  mainAxisSize: MainAxisSize.min,
                  children: <Widget>[
                    AxeBuilder(),
                    WheelBuilder(
                      wheelType: WheelType.T,
                    ),
                    SizedBox(
                      height: 5,
                    ),
                    DimBuilder(
                      plane: Plane.Horizontal,
                      height: 25,
                    ),
                  ],
                ),
              ),
              Row(
                children: <Widget>[
                  SizedBox(
                    //   width: 30,
                    child: Column(
                      mainAxisSize: MainAxisSize.min,
                      children: <Widget>[
                        Expanded(
                          child: SizedBox(),
                        ),
                        IntrinsicHeight(
                          child: Row(
                            children: <Widget>[
                              SizedBox(
                                width: 5,
                                child: WheelBuilder(
                                  wheelType: WheelType.T,
                                ),
                              ),
                              DimBuilder(
                                plane: Plane.Vertical,
                                height: 20,
                              )
                            ],
                          ),
                        ),
                        SizedBox(
                          height: 5,
                        ),
                        SizedBox(
                          height: 24,
                        )
                      ],
                    ),
                  ),
                ],
              ),
              Column(
                mainAxisSize: MainAxisSize.max,
                children: <Widget>[
                  Expanded(
                      child: DimBuilder(
                    plane: Plane.Vertical,
                    height: 20,
                  )),
                  SizedBox(
                    height: 5,
                  ),
                  SizedBox(
                    height: 24,
                  )
                ],
              )
            ],
          ),
        ),
      ],
    ),
  ),
);

在此处输入图像描述


推荐阅读