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

1、增加ImageWidget

上级 0a7d7601
......@@ -5,9 +5,9 @@ export 'common/gaps.dart';
export 'utils/common_utils.dart';
export 'utils/image_utils.dart';
export 'utils/keyboard_utils.dart';
export 'utils/load_net_image.dart';
export 'utils/loading_utils.dart';
export 'utils/toast_util.dart';
export 'widget/image_widget/image_widget.dart';
export 'widget/my_app_bar.dart';
export 'widget/my_scaffold.dart';
export 'widget/my_scroll_view.dart';
......
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:flutter_clx_base/utils/image_utils.dart';
import 'package:octo_image/octo_image.dart';
import 'octoImage_transformer.dart';
export 'package:flutter_clx_base/widget/image_widget/octoImage_transformer.dart';
class ImageWidget {
static String domain = "";
/// 加载网络图片widget
static Widget loadNetImage(
String? url, {
String? domain,
ImageTransformerType type = ImageTransformerType.rect,
double? width,
double? height,
BoxFit fit = BoxFit.cover,
}) {
var domainUrl = domain ?? ImageWidget.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: fit,
width: width,
height: height,
);
}
/// 加载网络图片widget
static Widget loadAssetImage(
String? image, {
double? width,
double? height,
int? cacheWidth,
int? cacheHeight,
BoxFit? fit,
String format = 'png',
Color? color,
}) {
return Image.asset(
ImageUtils.getImgPath(image, format: format),
height: height,
width: width,
cacheWidth: cacheWidth,
cacheHeight: cacheHeight,
fit: fit,
color: color,
/// 忽略图片语义
excludeFromSemantics: true,
);
}
}
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(
......@@ -57,6 +27,6 @@ class MyOctoImageTransformer {
}
enum ImageTransformerType {
Rect, // 矩形
rect, // 矩形
circle, // 圆形
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论