问题:今天在用新的控件Transform.rotate的时候,发现就算它的子布局宽高设置成超过父布局的宽高,子布局却不溢出。
在 Flutter 中,如果子部件的宽高超出了父部件的范围,通常会导致溢出错误或警告。但是在上面这段代码中,由于使用了 Transform.rotate
小部件对图片进行旋转,并指定了其旋转的中心点为 Alignment.center
,所以即使图片的大小超出了父部件的大小,也不会导致溢出错误。
具体来说,Transform.rotate
对图片进行旋转后,会将其放置在了一个矩形区域内,该区域的大小等于图片的对角线长度(即 $\sqrt{2} * width$)。由于父部件设置了与该区域相同的大小,因此即使图片超出了父部件的大小,其仍然位于该区域内,不会发生溢出。同时,由于图片的实际宽高值均小于该区域的大小,因此也不会显示出图片以外的空白部分。