在“详细信息”页面上,我希望图像占据最上方的整个宽度。这是我的代码:
@override
Widget build(BuildContext context) {
return Scaffold(
body: Stack(
children: <Widget>[
Container(
child: Column(
children: <Widget>[
Container(
width: double.infinity,
child: Image.asset(
this.imageLink,
),
)
],
),
),
),
);
问题是:使用仿真器,结果正是我想要的:
但是当我在真实手机(Galaxy S8 Plus)上启动该应用程序时,会有一些填充(顶部,左侧和右侧),并且图像不适合屏幕宽度。
这意味着我尝试使用代码的方式中有些不正确。
可能出什么问题了?
答案 0 :(得分:2)
您将为此使用扩展的小部件,也可以使用
height: double.infinity,
width: double.infinity,
或
new Image.asset('assets/images/umbrella.png',
width: size.width,
height: size.height,
fit: BoxFit.fill,
)
答案 1 :(得分:2)
您可以使用
fit:BoxFit.cover,
答案 2 :(得分:2)
我认为图像的原始width
等于或大于模拟器的宽度,并且小于Samsung S8 +宽度的原因,您需要使用
Image.asset(
this.linkImage,
width: double.infinity,
fit: BoxFit.cover,
),