// import 'dart:io'; // // import 'package:flutter/material.dart'; // import 'package:cs_resources/generated/assets.dart'; // import 'package:router/path/router_path.dart'; // import 'package:shared/utils/screen_util.dart'; // import 'package:widgets/my_load_image.dart'; // import 'package:widgets/my_text_view.dart'; // import 'package:cs_resources/constants/color_constants.dart'; // import 'package:extended_image/extended_image.dart'; // // /* // * 预览的图片的页面,内部使用PageView左右切换 // */ // class PreviewPhotoPage extends BaseStatefulPage { // PreviewPhotoPage({super.key}); // // //启动当前页面 // static Future? startInstance(List imgs, int position) { // return Get.toNamed(RouterPath.previewImage, arguments: {'imgs': imgs, "position": position}); // } // // @override // _PreviewPhotoPageState createState() => _PreviewPhotoPageState(); // // @override // GetxController createRawController() { // throw UnimplementedError(); // } // } // // class _PreviewPhotoPageState extends State { // late List images; // int currentIndex = 0; // // @override // void initState() { // super.initState(); // images = Get.arguments['imgs']; // currentIndex = Get.arguments['position']; // } // // @override // void dispose() { // super.dispose(); // clearGestureDetailsCache(); // } // // @override // Widget build(BuildContext context) { // return Scaffold( // backgroundColor: ColorConstants.black, // // body: SafeArea( // bottom: true, // top: false, // //真正的 Content 布局 // child: Column(` // children: [ // SizedBox(height: ScreenUtil.getStatusBarH(context)), // Row( // children: [ // //间距 // SizedBox(width: 30), // Expanded( // child: MyTextView( // "${currentIndex + 1}/${images.length}", // textColor: Colors.white, // fontSize: 18, // isFontRegular: true, // textAlign: TextAlign.center, // ), // ), // // InkWell( // onTap: () { // Get.back(); // }, // child: const MyAssetImage( // Assets.baseLibDialogDeleteIcon, // width: 14, // height: 14, // ), // ), // // //间距 // SizedBox(width: 15), // ], // ), // Expanded( // child: ExtendedImageGesturePageView.builder( // controller: ExtendedPageController( // //图片PageView的配置选项 // initialPage: currentIndex, // pageSpacing: 10, // ), // itemCount: images.length, // scrollDirection: Axis.horizontal, // onPageChanged: (int index) { // setState(() { // currentIndex = index; // }); // }, // itemBuilder: (BuildContext context, int index) { // //默认网络加载的占位图 // final Widget placeholder = Container( // //如果没有设置占位图,使用默认的灰色背景内置Icon小图标 // width: double.infinity, // height: double.infinity, // color: ColorConstants.greye0, // alignment: Alignment.center, // child: const MyAssetImage( // Assets.baseLibImageDefaultPlaceholder, // width: 38, // height: 32, // ), // ); // // //区分网络图片和本地图片 // Widget image = images[index].startsWith("http") // ? ExtendedImage.network( // images[index], // fit: BoxFit.contain, // timeLimit: const Duration(milliseconds: 30000), // cache: true, // mode: ExtendedImageMode.gesture, // loadStateChanged: (ExtendedImageState state) { // switch (state.extendedImageLoadState) { // case LoadState.loading: // return placeholder; // // case LoadState.completed: // return null; // // case LoadState.failed: // return placeholder; // } // }, // initGestureConfigHandler: (ExtendedImageState state) { // return GestureConfig( // // 图片展示的配置选项 // inPageView: true, // initialScale: 1.0, // maxScale: 5.0, // animationMaxScale: 6.0, // initialAlignment: InitialAlignment.center, // cacheGesture: false, // ); // }, // ) // : ExtendedImage.file( // File(images[index]), // fit: BoxFit.contain, // mode: ExtendedImageMode.gesture, // initGestureConfigHandler: (ExtendedImageState state) { // return GestureConfig( // // 图片展示的配置选项 // inPageView: true, // initialScale: 1.0, // maxScale: 5.0, // animationMaxScale: 6.0, // initialAlignment: InitialAlignment.center, // cacheGesture: false, // ); // }, // ); // // if (index == currentIndex) { // return Hero( // // tag: index.toString(), // tag: "0", // child: image, // ); // } else { // return image; // } // }, // )), // ], // ), // )); // } // }