1.FittedBox
按自己的大小调整其子widget的大小和位置。
如果外部有约束的话,按照外部约束调整自身尺寸,然后缩放调整 child ,按照指定条件进行布局。例如使用Container包裹,Container的约束条件会传递给FittedBox。
如果没有外部约束条件,则跟 child 尺寸一样,指定的缩放和位置属性将不起作用。
2.BoxFit
BoxFit.contain:全图居中显示但不充满,显示原比例
BoxFit.cover:图片可能拉伸,也可能裁剪,但是充满容器
BoxFit.fill:全图显示且填充满,图片可能会拉伸
BoxFit.fitHeight:图片可能拉伸,可能裁剪,高度充满
BoxFit.fitWidth:图片可能拉伸,可能裁剪,宽度充满
BoxFit.scaleDown:效果和contain差不多, 但是只能缩小图片,不能放大图片
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('FittedBox'),
),
body: Column(
children: [
Container(
width: 100,
height: 100,
color: Colors.amber,
child: FittedBox(
alignment: Alignment.center,
fit: BoxFit.fill,
child: Text('FittedBox'),
),
),
FittedBox(
child: Text('FittedBox'),
),
],
),
);
}