createUint8ListImage method

Widget createUint8ListImage(
  1. Uint8List bytes, {
  2. Map? extendParams,
  3. bool isCache = true,
  4. LoadStateChanged? loadStateChanged,
  5. AnimationController? controller,
})

Implementation

Widget createUint8ListImage(
Uint8List bytes, {
      Map? extendParams,
      bool isCache = true,
      LoadStateChanged? loadStateChanged,
      AnimationController? controller
    }) {
  return ExtendedImage.memory(bytes,
    width: double.infinity,
    height: double.infinity,
    fit: extendParams?["fit"] ?? BoxFit.cover,
    enableSlideOutPage: extendParams?["enableSlideOutPage"] ?? false,
    mode: extendParams?["mode"] ?? ExtendedImageMode.none,
    shape: BoxShape.rectangle,
    loadStateChanged: loadStateChanged ??
            (ExtendedImageState state) {
          switch (state.extendedImageLoadState) {
            case LoadState.loading: //加载中。。。
              if (controller != null) {
                controller.reset();
              }
              return VImgLoading();

          ///if you don't want override completed widget
          ///please return null or state.completedWidget
          //return null;
          //return state.completedWidget;
            case LoadState.completed: //加载完成
              if (controller != null) {
                controller.forward();
              }
              return FadeTransition(
                  opacity: controller!,
                  // CurvedAnimation(parent: controller!, curve: Curves.easeIn),
                  child: state.completedWidget

                //   ExtendedRawImage(
                //   //如果你想重写完成图片的 size 或者 sourceRect, 你可以通过使用 ExtendedRawImage 来完成
                //   image: state.extendedImageInfo?.image,
                //   width: 20,
                //   height: 30,
                // ),
              );
            case LoadState.failed: //加载失败
              if (controller != null) {
                controller.reset();
              }
              state.imageProvider.evict();
              return VImgLoadFailed(reloadClick: state.reLoadImage);
              ;
              break;
          }
        },
  );
}