代码之家  ›  专栏  ›  技术社区  ›  Nerdy Bunz

如何在Flutter中展开包含CustomPainter的Stack的所有子项

  •  0
  • Nerdy Bunz  · 技术社区  · 3 年前

    假设在Flutter中,我们有一个Stack,它包含:

    1. 尺寸为size.infinite的定制画家
    2. 任何其他不是Custom Painter的小部件( 我们还希望以与自定义画家完全相同的方式填充所有可用空间 )

    在本例中,我使用一个图标作为项目2:

      @override
      Widget build(BuildContext context) {
        return Expanded(
          child: Container(
            color: Colors.white,
            child: Stack(
              children: [
                Icon(Icons.star),
                CustomPaint(
                    painter: MyCustomPainter(percentTimeElapsed: 0.5),
                    size: Size.infinite)
              ],
            ),
          ),
        );
      }
    

    现在,很明显,我们还没有得到想要的结果——自定义画家被“扩展”了 但图标不是

    但我尝试了以下所有操作,但都没有成功:

    • 用Expanded包装图标(导致异常)
    • 用Expanded包装Stack小部件(导致异常)
    • 将图标的大小定义为size.infinite(不会生成,因为size param需要一个double)
    • 使用 适合:StackFit.expand 作为Stack的一个参数,但这似乎只是将Icon居中,并不会改变它的大小。
    0 回复  |  直到 3 年前
    推荐文章