0

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

  1. 大小为 Size.infinite 的 CustomPainter
  2. 任何其他不是自定义画家的小部件(我们也希望以与自定义画家完全相同的方式填充所有可用空间

在此示例中,我为项目 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 小部件(导致异常)
  • 将 Icon 的大小定义为 Size.infinite (不会构建,因为 size 参数需要双精度)
  • 使用fit: StackFit.expand作为 Stack 的参数,但这似乎只是使图标居中并且不会改变它的大小。
4

0 回答 0