假设在Flutter中,我们有一个Stack,它包含:
-
尺寸为size.infinite的定制画家
-
任何其他不是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居中,并不会改变它的大小。