Mik*_*e N 3 flutter flutter-layout
我有一个A要缩放的小部件(像素完美)。根据设备的显示宽度,A应该增加或减少的大小。我尝试使用Transform.scale小部件来更改A. 这很有效,但Transform.scale小部件的大小永远不会改变。它始终匹配A(不缩放)的原始大小。有没有办法强制Transform.scale它总是采用其孩子的大小?或者有没有替代方法?
您可以在此处找到显示当前和所需情况的图像
编辑:
小部件A及其子项应该均匀地缩小/增长。它们之间的比例不应改变。
这是我目前尝试的代码
_buildWidgetA(scalingFactor) {
return Transform.scale(
scale: scalingFactor,
child: A(),
);
}
Run Code Online (Sandbox Code Playgroud)
感谢@LOfG 的输入,我了解到您无法使用Transform.scale小部件实现所需的行为。不幸的是,此小部件不会更改其大小以匹配缩放后的子项的尺寸,但会始终保持原始未缩放子项的宽度和高度。
我找到了另一个小部件 , FittedBox通过它我获得了所需的行为。使用 时FittedBox,您不会像使用那样定义比例因子Transform.scale。您宁愿放入FittedBoxaContainer并定义其宽度或高度或两者。FittedBox然后缩放的 child以匹配 parent Container。
https://api.flutter.dev/flutter/widgets/FittedBox-class.html
_buildWidgetA(width, height) {
return Container(
width: width,
height: height,
child: FittedBox(
child: A(),
),
);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1552 次 |
| 最近记录: |