我创建了一个水平ListView,其中包含很多图像,但是ListView中的每个图像都不适合屏幕(有时我必须滚动才能看到其余的图像,当然还有下一张图像的一部分)。如何拉伸每个适合屏幕的图像并滚动查看下一个图像 (下一张图片也必须适合屏幕)
更新示例
答案 0 :(得分:1)
您可以将DecorationImage
与BoxFit.fill
一起使用
示例:
Container(
width: 64.0,
height: 64.0,
decoration: new BoxDecoration(
shape: BoxShape.circle,
image: new DecorationImage(
fit: BoxFit.fill,
image: new NetworkImage('my_url.jpg')
)
))
答案 1 :(得分:0)
您可以将此代码用于具有完美适合图像的“水平”列表视图。
Container(
height: 275,
child: ListView.builder(
scrollDirection: Axis.horizontal,
shrinkWrap: true,
itemCount: furnitures.length,
itemBuilder: (BuildContext context, int index) {
Map furniture = furnitures[index];
return Padding(
padding: EdgeInsets.only(right: 20),
child: GestureDetector(
onTap: (){
Navigator.of(context).push(
MaterialPageRoute(
builder: (BuildContext context){
return Details();
},
),
);
},
child: Container(
height: 275,
width: 280,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
furniture['name'],
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 20,
),
),
SizedBox(height: 10),
ClipRRect(
borderRadius: BorderRadius.circular(15),
child: Image.asset(
"${furniture["img"]}",
height: 240,
width: 280,
fit: BoxFit.cover,
),
),
],
),
),
),
);
},
),
)
答案 2 :(得分:0)
您可以使用MediaQuery来实现。只需输入MediaQuery.of(context).size.width
(它会为您提供设备屏幕的宽度),然后您就可以分配图像的宽度
答案 3 :(得分:0)
我的意思是轮播小部件,以前从未听说过。我是移动开发的新手。