flutter 网络图片封装

可自定义加载时占位图片和加载失败时展示的图片

dart 复制代码
class ImageBuildView extends StatelessWidget {
  String? url;
  double radius;
  double? width;
  double? height;
  String placeholder;

  ImageBuildView(
      {super.key,
      this.url,
      this.width,
      this.height,
      this.radius = 50,
      this.placeholder = "assets/images/loading.png"});

  @override
  Widget build(BuildContext context) {
    return ClipRRect(
      borderRadius: BorderRadius.circular(radius),
      child: FadeInImage.assetNetwork(
        placeholder: placeholder,
        image: url != null && url!.isNotEmpty ? "${Api.BASE_URL}/$url" : '',
        fit: BoxFit.cover,
        width: width ?? 60.w,
        height: height ?? 60.w,
        imageErrorBuilder: (context, error, stackTrace) {
          return Center(
            child: Image.asset("assets/images/image_error.png",
                width: (width ?? 60.w) - 20.w, height: (height ?? 60.w) - 20.w),
          );
        },
      ),
    );
  }
}
相关推荐
忙碌54417 分钟前
2026年Flutter 3.16全栈实战:从UI到后端的一体化开发革命
flutter·ui
九狼JIULANG22 分钟前
Flutter Riverpod + MVI 状态管理实现的提示词优化器
flutter
lili-felicity1 小时前
进阶实战 Flutter for OpenHarmony:NestedScrollView 嵌套滚动系统 - 复杂滚动交互实现
flutter
lili-felicity1 小时前
进阶实战 Flutter for OpenHarmony:PageView 无限轮播系统 - 轮播交互优化实现
flutter·交互
lili-felicity1 小时前
进阶实战 Flutter for OpenHarmony:flutter_slidable 第三方库实战 - 列表滑动
flutter
啥都想学点2 小时前
第1天:搭建 flutter 和 Android 环境
android·flutter
蓝帆傲亦2 小时前
Vue.js 大数据处理全景解析:从加载策略到渲染优化的完全手册
前端·vue.js·flutter
九狼2 小时前
Flutter Riverpod + MVI 状态管理实现的提示词优化器
前端·flutter·github
阿林来了2 小时前
Flutter三方库适配OpenHarmony【flutter_speech】— 总结与未来展望
flutter
早點睡39012 小时前
进阶实战 Flutter for OpenHarmony:CustomPainter 组件实战 - 自定义绘图与画板
flutter