当前位置: 首页 > 知识库问答 >
问题:

为什么颤振容器在其他容器内时不遵守其宽度和高度限制

有玄天
2023-03-14
Container(
  width: 200.0,
  height: 200.0,
  child: Container(
    width: 50.0,
    height: 50.0,
    decoration: BoxDecoration(
      shape: BoxShape.circle,
      color: Colors.red
    ),
  ),
)

我一直试图在容器类文档中找到答案,但我没有找到。

因此,如果容器放置在对齐小部件中,容器将获得x位置和y位置,并且可以工作。

共有1个答案

田骁
2023-03-14

颤振中的约束与通常的工作有点不同。小部件本身没有约束。

容器上指定宽度/高度时,并不是在约束容器。您正在约束容器的子容器。

容器将根据其子容器的大小来调整其自身的大小。

如果要解决这个问题,必须使用Align小部件:

Container(
  width: 200.0,
  height: 200.0,
  child: Align(
    alignment: Alignment.topLeft,
    child: Container(
      width: 50.0,
      height: 50.0,
      decoration:
          BoxDecoration(shape: BoxShape.circle, color: Colors.red),
    ),
  ),
);

这可能看起来很奇怪,也很有限。但这种单一的怪异正是Flutter的布局如此强大和可组合的原因。

 类似资料:
  • 将父flex容器宽度调整为子flex容器内容宽度时出现问题。 使用Bulma,我有以下HTML结构 但它最终应用于所有子flex容器,如您所见: http://codepen.io/anon/pen/mWqRxW 如何解决这个问题,并使父flex容器适合子flex容器的宽度(在本例中是输入的宽度)?

  • 问题内容: 我需要一个解决方案 自动调节 的和一个勉强适合其内容。关键是加载后可以更改宽度和高度。我想我需要一个事件操作来处理iframe中包含的主体尺寸的变化。 问题答案:

  • 我有两个面板,一个是边栏,100%高,100px宽(紫色),我还有一些按钮(橙色),然后我有一个右面板,顶部div是100%宽,100px高(绿色),这个面板包含3个右浮动按钮(灰色)。 现在在这个顶部面板下方,我有一个内容div,应该是剩余宽度的100%和剩余高度的100%(黄色),但是当您添加更多侧边栏按钮(橙色按钮)时,黄色面板会在底部插入一个白色边框,如果您调整浏览器窗口的大小,它也水平放

  • 我正在尝试显示系统中的项目列表。 项目列表允许用户每行查看大量信息。用户可以向此视图添加额外的列,从而使行更长。 我想要能够滚动这两个垂直和水平的信息。当添加额外的列时,我希望能够水平滚动以查看新的信息。 滚动工作如我所料。但是,这些行的每一行下面都有一个边框。奇怪的是,边框只扩展到浏览器的宽度。当我水平滚动时,边框被切断: 下面是我的代码的一个基本示例来演示它的操作: null null

  • 问题内容: 我想并排放置两个DIV标签而不使用固定宽度。第一个div扩展到其内容,第二个div应该填充剩余的空间。另外,div不能位于另一个div的顶部,因为它们具有透明的背景图像,因此如果它们相交,则很明显。我尝试了所有可以考虑的可能性,但是找不到使用DIV标签的解决方案。 我可以使用TABLE进行此操作,但是可以使用DIV进行吗?还是DIV不能再做的一件事? 这是代码: 感谢您的答复! 问题答