diff --git a/lib/common/widgets/network_img_layer.dart b/lib/common/widgets/network_img_layer.dart index fbedfbba..d5903b71 100644 --- a/lib/common/widgets/network_img_layer.dart +++ b/lib/common/widgets/network_img_layer.dart @@ -20,6 +20,7 @@ class NetworkImgLayer extends StatelessWidget { // 图片质量 默认1% this.quality, this.origAspectRatio, + this.radius, }); final String? src; @@ -30,6 +31,18 @@ class NetworkImgLayer extends StatelessWidget { final Duration? fadeInDuration; final int? quality; final double? origAspectRatio; + final double? radius; + + BorderRadius getBorderRadius(String? type, double? radius) { + return BorderRadius.circular( + radius ?? + (type == 'avatar' + ? 50 + : type == 'emote' + ? 0 + : StyleString.imgRadius.x), + ); + } @override Widget build(BuildContext context) { @@ -72,13 +85,7 @@ class NetworkImgLayer extends StatelessWidget { return src != '' && src != null ? ClipRRect( clipBehavior: Clip.antiAlias, - borderRadius: BorderRadius.circular( - type == 'avatar' - ? 50 - : type == 'emote' - ? 0 - : StyleString.imgRadius.x, - ), + borderRadius: getBorderRadius(type, radius), child: CachedNetworkImage( imageUrl: imageUrl, width: width, @@ -107,11 +114,7 @@ class NetworkImgLayer extends StatelessWidget { clipBehavior: Clip.antiAlias, decoration: BoxDecoration( color: Theme.of(context).colorScheme.onInverseSurface.withOpacity(0.4), - borderRadius: BorderRadius.circular(type == 'avatar' - ? 50 - : type == 'emote' - ? 0 - : StyleString.imgRadius.x), + borderRadius: getBorderRadius(type, radius), ), child: type == 'bg' ? const SizedBox()