在一个stack小部件中堆叠多个CustomPainter可以吗?
例如:
Stack(
children: [
RepaintBoundary(
child: CustomPaint(
size: Size(imgSource.width.toDouble(), imgSource.height.toDouble()),
painter: BackgroundImagePainter(imgSource),
)),
RepaintBoundary(
child: CustomPaint(
isComplex: true,
willChange: true,
size: Size(imgSource.width.toDouble(), imgSource.height.toDouble()),
painter: GpsMarkerPainter(lMarkerDisplay, scale: _currentScale),
)),
],
),
在这个例子中,我使用一个画家(BackgroundImagePainter(绘制背景图像一次,使用另一个CustomPainter(GpsMarkerPainter(绘制更新的标记位置。
如果我想显示一个每秒重新绘制的指南针,最好的做法是什么。我可以为此添加一个CustomPainter吗?还是最好将它们放在一个CustomPainter中,即使它们有不同的重绘触发器?
堆叠CustomPaint
小部件是完全可以的。
与组织自定义Stateless
或Stateful
小部件的方式相同,您可以按照自己的意愿组织CustomPaint
并按照自己的方式拆分它们。通常,您可以按特征对它们进行拆分,这样它们就不会各有500行。