Flutter 颤振:align的官方文档是否错误?

Flutter 颤振:align的官方文档是否错误?,flutter,alignment,Flutter,Alignment,当我阅读Align的文档时,我发现了以下解释 链接是 0.2是xAlign,0.6是Yallign,按照官方文件中的公式,最后计算一个点(36.0,48.0)。当xAlign小于零或yAlign小于零时,根据此公式进行的计算始终为正。计算源代码中logo和Container的偏移量的公式如下(alignment.dart行:290): 根据源代码中的公式得出的结果似乎与(36,48)没有任何关系。是我误解了还是文件说了什么错误?计算公式是正确的。必须记住,图像对象的中心是(0,0),它是对象的

当我阅读Align的文档时,我发现了以下解释

链接是

0.2是xAlign,0.6是Yallign,按照官方文件中的公式,最后计算一个点
(36.0,48.0)
。当xAlign小于零或yAlign小于零时,根据此公式进行的计算始终为正。计算源代码中
logo
Container
的偏移量的公式如下(
alignment.dart
行:290
):


根据源代码中的公式得出的结果似乎与
(36,48)
没有任何关系。是我误解了还是文件说了什么错误?

计算公式是正确的。必须记住,图像对象的中心是(0,0),它是对象的左上角,而不是对象的中心。所以你必须考虑物体的大小

final double centerX = (other.dx + child.size.width) / 2.0;
final double centerY = (other.dy + child.size.height) / 2.0;

我可能没有做正确的数学运算,但我的想法是将孩子的(0,0)-中心位置从左上角移到中间。

他们是对的:他们说大约2分:“对齐属性描述子部件坐标系中的一个点和此小部件坐标系中的另一个点。“对齐”小部件定位子对象,使两个点彼此对齐。“-
childParentData.offset
是该定位的结果,与上面两个虚拟点不同
final double centerX = (other.dx + child.size.width) / 2.0;
final double centerY = (other.dy + child.size.height) / 2.0;