image - 如何在控制图像宽度的同时让图像扩展并在 Flutter 中为其赋予边框半径
问题描述
我在 Flutter 工作,在那里ListView
我展示了很多图像,我需要这些图像具有相同的宽度,但它们可以根据它们的原始高度扩展,即我想要对图像的宽度进行限制,但不是高度。它应该如下图所示:
而我现在编写的代码强制每个图像具有相同的高度。这是代码:
Container(
width: MediaQuery.of(context).size.width * .9,
height: MediaQuery.of(context).size.height * .6,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(35),
image: DecorationImage(
image: NetworkImage(memes[index].link),
fit: BoxFit.fill
)
),
),
非常感谢!
解决方案
如果没有height
小部件不会出现,我建议计算图像高度宽度,然后根据图像数据中的高度构建小部件将解决您的问题。您可以使用此功能获取图像大小
Future<Size> _calculateImageDimension(link) {
Completer<Size> completer = Completer();
Image image = Image.network(link);
image.image.resolve(ImageConfiguration()).addListener(
ImageStreamListener(
(ImageInfo image, bool synchronousCall) {
var myImage = image.image;
Size size = Size(myImage.width.toDouble(), myImage.height.toDouble());
completer.complete(size);
},
),
);
return completer.future;
}
我希望这能解决你的问题。
推荐阅读
- mergesort - 有人可以帮助理解归并排序算法吗?
- c# - 生成 Excel 文件,然后将数据输入到单元格中
- c# - 试图在 Chrome 中查看 DOM。无法找到接收 SuperSocket 错误
- java - (使用了无效的访问令牌)尝试获取 facebook test_user 的测试页面时
- python - 将具有日期时间值的列转换为每周的列
- laravel - 如何统计目录中的大量文件
- python - 如何根据另一个列值格式化散景数据表单元格,其中数据源中的列值包含空格?
- reactjs - React API 上下文路由器
- python - Python没有在for循环中释放内存
- java - 有没有办法在两列中打印两个 Java 方法?