我对FractionalOffset和Alignment之间的区别感到困惑..我看到它们在做同样的事情..检查示例代码以了解我:
示例1:
final fractionalOffset = Container(
margin: EdgeInsets.symmetric(
vertical: 16,
),
alignment: FractionalOffset.bottomLeft,
child: Image(
image: AssetImage("example1"),
height: 92,
width: 92,
),
);
示例2:
final alignment = Container(
margin: EdgeInsets.symmetric(
vertical: 16,
),
alignment: Alignment.bottomLeft,
child: Image(
image: AssetImage("example2"),
height: 92,
width: 92,
),
);
答案 0 :(得分:2)
官方文档解释得很好:
FractionalOffset
使用矩形为origin in the top-left corner
的坐标系,而Alignment
使用矩形为origin in the center
的坐标系。
也:
从历史上看,FractionalOffset早于Alignment。尝试制作适合TextDirection的FractionalOffset版本时,我们遇到了麻烦,因为将原点放在左上角会产生从左到右的偏差,很难消除。
总而言之,FractionalOffset
独立于TextDirection
,其中Alignment
与之相关。
示例:
Alignment(-1.0,-1.0)表示矩形的
top left
。Alignment(1.0,1.0)表示矩形的
bottom right
。FractionalOffset(1.0,0.0)表示大小的
top right
。FractionalOffset(0.0,1.0)表示大小的
bottom left
。
下次请先结帐正式文件。尤其是Flutter
文档的组织性很好,可以使用搜索引擎,编写类名可以使内容更加混乱。