提交 e008646f authored 作者: shixiaochen's avatar shixiaochen

1、增加加载网络图片utils,LoadNetImage

上级 7ec60a1b
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:octo_image/octo_image.dart';
class LoadNetImage {
static String domain = "";
static load(
String? url, {
String? domain,
ImageTransformerType type = ImageTransformerType.Rect,
double? width,
double? height,
}) {
var domainUrl = domain ?? LoadNetImage.domain;
if (url != null && !url.startsWith("http")) {
url = domainUrl + url;
}
return OctoImage(
image: CachedNetworkImageProvider(url ?? ""),
imageBuilder: type == ImageTransformerType.Rect
? MyOctoImageTransformer.radiusAvatar()
: MyOctoImageTransformer.circleAvatar(),
errorBuilder: OctoError.icon(color: Colors.red),
fit: BoxFit.cover,
width: width,
height: height,
);
}
}
class MyOctoImageTransformer {
static OctoImageBuilder radiusAvatar() {
return (context, child) => Center(
child: AspectRatio(
aspectRatio: 1.0,
child: ClipRRect(
borderRadius: BorderRadius.circular(5.0),
child: child,
),
),
);
}
static OctoImageBuilder circleAvatar() {
return (context, child) => Center(
child: AspectRatio(
aspectRatio: 1.0,
child: ClipOval(
child: child,
),
),
);
}
}
enum ImageTransformerType {
Rect, // 矩形
circle, // 圆形
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论