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

有没有一种方法可以获得现有小部件的大小?

易焱
2023-03-14

我试图让我的UI显示两个按钮,其中一个稍微重叠在另一个,在一个全幅卡的中间。因为堆栈的宽度只能与其未定位的子级相同,所以我添加了一个宽度为double.infinity的SizedBox的未定位子级,以便给我一个画布来放置按钮,但我不知道该放什么作为SizedBox的高度。理想情况下,无论用户是在手机上还是在平板电脑上,我都希望这个小部件能够适当地调整自己的大小,所以我宁愿将SizedBox的高度设置在按钮的当前大小附近,而不是仅仅硬编码一个数字。

new Card(
  child: new Stack(
    children: <Widget>[
      new SizedBox(
        width: double.INFINITY,
      ),
      new Positioned(
        left: 1.0,
        child: getButtonOne(),
      ),
      new Positioned(
        right: 1.0,
        child: getButtonTwo(),
      ),
    ],
  ),
),

共有1个答案

欧阳勇
2023-03-14

简单的回答是否定的,因为在构建函数时,小部件还没有布局,所以它们没有大小。

更长的答案是,要实现自定义布局效果,您可以使用自定义布局生成器,尽管在您的情况下,这没有帮助,因为自定义布局生成器不能根据其子级来调整自身的大小。下一个层次是直接构建一个自定义呈现对象,这就是堆栈、行和列等等的实际情况。然后你可以做任何你想做的,布局方面的。

 类似资料:
  • 问题内容: 现在我正在做: 有没有更有效的方法直接从Find(或其他搜索功能)中获取带有用户名的slice,而没有struct和range循环? 问题答案: MongoDB的结果始终是文档列表。因此,如果要获取值列表,则必须像以前一样手动将其转换。 使用自定义类型(源自) 另外请注意,如果您要创建自己的类型(从派生),则可以覆盖其取消编组逻辑,并仅从文档中“提取” 。 它看起来像这样: 然后将用户

  • 问题内容: 我喜欢JPA中针对静态查询的命名查询的想法,但是我经常想获取查询的计数结果以及查询的某些子集的结果列表。我不想写两个几乎相同的NamedQueries。理想情况下,我想要的东西是这样的: 假设m为10,s为0,并且Account中有400行。我希望r中有10个项目的列表,但我想知道总共有400行。我可以写第二个@NamedQuery: 但是如果我总是只想要计数,那么这样做似乎违反了DR

  • 理想情况下,如果可以在执行查询之后(但在返回行之前)自动设置,那就太好了。 有没有更好的方法? 我正在使用org。springframework。jdbc。果心支持JDBCDAO支持。SimpleJdbcDaoSupport getJdbcTemplate()。setFetchSize(1000);

  • 问题内容: 我正在编写小型且非常干燥的框架,该框架高度依赖元数据。我想知道是否有一种方法来获取方法参数名称,即给定一些方法 得到的字符串和。 我知道我可以注释参数,但是那不是很好。 问题答案: 我们为包含参数名称的String[]的方法创建了一个自定义注释。与必须注释每个单独的参数相比,此方法感觉易于管理。我们计划添加构建时检查,以确保带注释的参数名称的数量与参数的数量匹配,因为这是我们所需要的。

  • 我想声明一个像belove这样的类 但是它似乎没有语法来支持这一点,它有任何方法可以保持在

  • 所以我试图用cheerio从我的脚本标签HTML中获取数据 下面是我的scripttag.html: 从playerintance.setup中常量标题->标题 从PlayerInstance.setup中常量srcfiles->源->文件 来自PlayerInstance.setup的常量图像->图像