Flutter画布,如何在子部件上绘画?

Nic*_*ick 5 canvas custom-painting flutter flutter-layout

我试图在子文本框小部件上绘制红点,如下所示:

在此输入图像描述

为此,我用 widget 包装了子CustomPaint()widget:

 return CustomPaint(
      painter: DotsPainter(), //draws red dots based on child's size
      child: child, //textbox
    );
Run Code Online (Sandbox Code Playgroud)

但结果是这样的:

在此输入图像描述

如何使 CustomPainter“覆盖”其子部件?

谢谢。

nvo*_*igt 5

CustomPaint 有 2 个可能的画家:

当被要求绘画时, CustomPaint 首先要求其画家在当前画布上绘画,然后绘画其子画布,然后,在绘画其子画布后,它要求其foregroundPainter进行绘画。

(强调我的)

因此,如果您将画家移至 foregroundPainter 它应该可以正常工作:

return CustomPaint(
  foregroundPainter: DotsPainter(), //draws red dots based on child's size
  child: child, //textbox
);
Run Code Online (Sandbox Code Playgroud)