Flutter 中的 FractionalOffset 和 Alignment 有什么不同?

Ada*_*Kif 4 dart flutter flutter-layout

我对 FractionalOffset 和 Alignment 之间的区别感到困惑..我看到他们做同样的事情..检查我的示例代码以理解我:

示例1:

final fractionalOffset = Container(
      margin: EdgeInsets.symmetric(
        vertical: 16,
      ),
      alignment: FractionalOffset.bottomLeft,
      child: Image(
        image: AssetImage("example1"),
        height: 92,
        width: 92,
      ),
    );
Run Code Online (Sandbox Code Playgroud)

示例2:

final alignment = Container(
      margin: EdgeInsets.symmetric(
        vertical: 16,
      ),
      alignment: Alignment.bottomLeft,
      child: Image(
        image: AssetImage("example2"),
        height: 92,
        width: 92,
      ),
    );
Run Code Online (Sandbox Code Playgroud)

Ese*_*met 6

官方文档解释得很好:

FractionalOffset使用具有矩形的坐标系origin in the top-left corner,而Alignment使用具有矩形的坐标系origin in the center

还:

从历史上看,FractionalOffset 早于 Alignment。当我们尝试制作适应 TextDirection 的 FractionalOffset 版本时,我们遇到了困难,因为将原点放置在左上角会引入难以消除的从左到右的偏差。

综上所述,FractionalOffset独立于TextDirectionAlignment与 存在一定关系。

例子:

Alignment(-1.0, -1.0) 表示top left矩形的对齐方式。

Alignment(1.0, 1.0) 表示bottom right矩形的。

FractionalOffset(1.0, 0.0) 表示top rightSize 的值。

FractionalOffset(0.0, 1.0) 表示bottom leftSize 的值。

  • Esen Mehmet .. 是的,我知道这些文件解释得很好.. 在问我的问题之前我检查了官方文件.. 但有时我需要有人以不同的方式向我解释它以获得更深入的理解.. 所以我希望你理解我现在 。谢谢 (7认同)