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

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

enter image description here

为此,我使用CustomPaint()小部件包装了子小部件:
 return CustomPaint(
      painter: DotsPainter(), //draws red dots based on child's size
      child: child, //textbox
    );

但结果是这样的:

enter image description here

如何使CustomPainter“覆盖”其子小部件?
谢谢。
1个回答

5

CustomPaint有两个可能的绘制器:

当被要求绘制时,CustomPaint首先要求其 painter 在当前画布上进行绘制,然后绘制其子项,绘制完其子项之后,它请求其 foregroundPainter 进行绘制。

(强调是我的)

因此,如果将您的绘图器移至foregroundPainter ,则应该可以正常工作:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接