mobile_skt/lib/widgets/fade_in_cache_image.dart

78 lines
1.8 KiB
Dart
Raw Normal View History

import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/cupertino.dart';
import 'package:sk_base_mobile/app_theme.dart';
class FadeInCacheImage extends StatefulWidget {
final double? width;
final double? height;
final String? url;
final BoxFit? fit;
bool compress;
bool canFullscreen;
FadeInCacheImage(
{Key? key,
this.width,
this.height,
this.url,
this.fit = BoxFit.cover,
this.compress = false,
this.canFullscreen = false})
: super(key: key);
@override
_FadeInCacheImageState createState() => _FadeInCacheImageState();
}
class _FadeInCacheImageState extends State<FadeInCacheImage> {
late BuildContext theContext;
@override
void initState() {
super.initState();
}
@override
void dispose() {
super.dispose();
}
@override
Widget build(BuildContext context) {
theContext = context;
if ((widget.url == null || widget.url == '' || widget.url == 'null')) {
return Image(
width: widget.width,
height: widget.height,
fit: widget.fit,
image: AssetImage(
'assets/images/deer_detail_banner1.jpg',
));
}
return buildImg(widget.url);
;
}
// Future getImg() {
// return MediaUtil().generateLogoUrl(widget.url);
// }
Widget buildImg(String? url) {
return CachedNetworkImage(
alignment: Alignment.center,
imageUrl: url ?? '',
width: widget.width,
height: widget.height,
fit: widget.fit,
placeholder: (context, url) => Container(
decoration: BoxDecoration(color: AppTheme.grey),
child: CupertinoActivityIndicator(),
),
errorWidget: (context, error, stackTrace) => Image(
image: AssetImage(
'assets/images/deer_detail_banner1.jpg',
)),
);
}
}