AspectRatio
的作用是根据设置调整子元素child
的宽高比。
AspectRatio
首先会在布局限制条件允许的范国内尽可能的扩展widget
的高度是由宽度和比率决定的,类似于BoxFit
中的contain
,按照固定比率去尽量占满区域
如果在满足所有限制条件过后无法找到一个可行的尺寸,AspectRatio
最终将会去优先适应布局限制条件,而忽路所设置的比率。
属性 | 说明 |
---|---|
aspectRatio | 宽高比,最终可能不会根据这个值去布局,具体则要看综合因素,外层是否允许按照这种比率进行布局,这只是一个参考值 |
child | 子组件 |
class Myapp extends StatelessWidget {
const Myapp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
final size = MediaQuery.of(context).size;
return AspectRatio(
aspectRatio: 2 / 1,
child: Container(
color: Colors.yellow,
),
);
}
/// 需求:页面上显示一个容器 宽度是屏幕的宽度 高度是容器宽度的一半
}