app-starlock/star_lock/lib/tools/customNetworkImage.dart

46 lines
1.3 KiB
Dart
Raw Normal View History

import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
/*
*
* */
class CustomNetworkImage extends StatelessWidget {
final String url;
2024-04-10 13:36:00 +08:00
final String defaultUrl;
final double width;
final double height;
final BoxFit boxFit;
2024-04-10 13:36:00 +08:00
const CustomNetworkImage({Key? key, required this.url, required this.defaultUrl, required this.width, required this.height, this.boxFit=BoxFit.cover}) : super(key: key);
@override
Widget build(BuildContext context) {
2024-04-10 13:36:00 +08:00
return url.isNotEmpty ? CachedNetworkImage(
width: width,
height: height,
fit: boxFit,
imageUrl: url,
imageBuilder: (context, imageProvider) => Container(
decoration: BoxDecoration(
image: DecorationImage(
image: imageProvider,
fit: boxFit,
colorFilter: const ColorFilter.mode(Colors.transparent, BlendMode.colorBurn)),
),
),
2024-04-10 13:36:00 +08:00
errorWidget: (context, url, error) => Image.asset(
defaultUrl,
width: width,
height: height,
fit: BoxFit.fill,
),
) :Image.asset(
defaultUrl,
width: width,
height: height,
fit: BoxFit.fill,
);
}
}