news_getx/lib/modules/widgets/image.dart

35 lines
941 B
Dart

import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:news_getx/theme/app_radii.dart';
/// 缓存图片
Widget netImageCached(
String url, {
double width = 48,
double height = 48,
EdgeInsetsGeometry? margin,
}) {
return CachedNetworkImage(
imageUrl: url,
imageBuilder: (context, imageProvider) => Container(
height: height.h,
width: width.w,
margin: margin,
decoration: BoxDecoration(
borderRadius: Radii.k6pxRadius,
image: DecorationImage(
image: imageProvider,
fit: BoxFit.cover,
)),
),
placeholder: (context, url) {
return Container(
alignment: Alignment.center,
child: CircularProgressIndicator(),
);
},
errorWidget: (context, url, error) => Icon(Icons.error),
);
}