我有一个自定义窗口小部件,我将其绘制如下
@override
Widget build(BuildContext context) {
return Container(
child: CustomPaint(
painter: MyPainter(),
),
);
}
但这在绘画过程中引发了错误,即给定的大小为Size(0,0)
。当我将硬编码的尺寸添加到容器中
return Container(
width: 200,
height: 200,
child: CustomPaint(
painter: MyPainter(),
),
);
然后将它很好地绘制。但我不希望它是200x200。我希望宽度能填满整个屏幕,而高度要和宽度一样大(即正方形宽度)。
我还尝试过删除宽度和高度,并将constraints: BoxConstraints.expand()
添加到容器中,但没有成功,也没有为Container
切换FittedBox
。
答案 0 :(得分:0)
一个可能的简单解决方案:
return Container(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.width,
child: CustomPaint(..),
)