我有一个要缩放的小部件A
(像素完美)。根据设备的显示宽度,A
的大小应增加或减小。我尝试了Transform.scale
小部件来更改A
的大小。这很好用,但是Transform.scale
小部件的大小永远不会改变。它始终与A
的原始大小匹配(无缩放)。有什么办法强迫Transform.scale
始终采用其子代的大小?还是有替代方法?
您可以在此处找到显示当前和所需情况的图像
这是我当前尝试的代码
_buildWidgetA(scalingFactor) {
return Transform.scale(
scale: scalingFactor,
child: A(),
);
}
要根据设备的宽度缩放小部件,可以使用媒体查询:
@override
Widget build(BuildContext context) {
double width = MediaQuery.of(context).size.width; //getting the current width
return Scaffold(
body: Center(
child: Container(
color: Colors.red,
width: width * 0.5, //using to determine the size of the container
height: width * 0.5,
),
),
);
}