我正在尝试执行类似于 android ImageView 中的 centerCrop 属性的操作。 设置 imageview 的高度,并使其裁剪并对齐到中心,就像 centerCrop 在 android 上的工作一样。
Widget bindItem(BuildContext context, int index) {
return new Card(
child: new Column(
children: <Widget>[
new Image.network(
_parties[index]["cover"], fit: BoxFit.fitWidth,
height: 120.0,
),
new Text(_parties[index]['name'])
]
)
);
}
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text("Parties"),
),
body: new ListView.builder(
itemCount: _parties == null ? 0 : _parties.length,
itemBuilder: bindItem,
)
);
}
最佳答案
Android ScaleType 和 BoxFit 应该像这样匹配:
- 中心 = 无
- CENTER_CROP = 封面
- CENTER_INSIDE = 缩小
- FIT_CENTER = 包含 (alignment.center)
- FIT_END = 包含 (alignment.bottomright)
- FIT_START = 包含 (alignment.topleft)
- FIT_XY = 填充
Ex :-
Image.asset('assets/images/your_image.png',fit: BoxFit.fill)
所以你应该使用 Cover 来实现 CENTER_CROP 结果。
编辑:
问题应该是 Column 小部件的 crossAxisAlignment
。
将此属性设置为 crossAxisAlignment: CrossAxisAlignment.stretch
应该可以解决您的问题。
关于android - flutter 上的图像比例类型中心裁剪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49120168/