diff --git a/lib/common/widgets/network_img_layer.dart b/lib/common/widgets/network_img_layer.dart index 03adc166..7ea20af9 100644 --- a/lib/common/widgets/network_img_layer.dart +++ b/lib/common/widgets/network_img_layer.dart @@ -35,29 +35,16 @@ class NetworkImgLayer extends StatelessWidget { final String imageUrl = '${src!.startsWith('//') ? 'https:${src!}' : src!}@${quality ?? 100}q.webp'; int? memCacheWidth, memCacheHeight; - double aspectRatio = (width / height).toDouble(); - void setMemCacheSizes() { - if (aspectRatio > 1) { - memCacheHeight = height.cacheSize(context); - } else if (aspectRatio < 1) { - memCacheWidth = width.cacheSize(context); - } else { - if (origAspectRatio != null && origAspectRatio! > 1) { - memCacheWidth = width.cacheSize(context); - } else if (origAspectRatio != null && origAspectRatio! < 1) { - memCacheHeight = height.cacheSize(context); - } else { - memCacheWidth = width.cacheSize(context); - memCacheHeight = height.cacheSize(context); - } - } - } - - setMemCacheSizes(); - - if (memCacheWidth == null && memCacheHeight == null) { - memCacheWidth = width.toInt(); + if (width > height || (origAspectRatio != null && origAspectRatio! > 1)) { + memCacheWidth = width.cacheSize(context); + } else if (width < height || + (origAspectRatio != null && origAspectRatio! < 1)) { + memCacheHeight = height.cacheSize(context); + } else { + // 不能同时设置,否则会导致图片变形 + memCacheWidth = width.cacheSize(context); + // memCacheHeight = height.cacheSize(context); } return src != '' && src != null