Skip to content

Commit 427fa79

Browse files
authored
⚡️ Support compile on the Web (#273)
1 parent c168b46 commit 427fa79

File tree

4 files changed

+12
-55
lines changed

4 files changed

+12
-55
lines changed

example/lib/customs/pickers/directory_file_asset_picker.dart

Lines changed: 9 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import 'dart:io';
66
import 'dart:math' as math;
77
import 'dart:typed_data';
88

9-
import 'package:extended_image/extended_image.dart';
109
import 'package:flutter/material.dart';
1110
import 'package:flutter/services.dart';
1211
import 'package:path/path.dart' show basename;
@@ -763,35 +762,7 @@ class FileAssetPickerBuilder
763762

764763
@override
765764
Widget imageAndVideoItemBuilder(BuildContext context, int index, File asset) {
766-
final FileImage imageProvider = FileImage(asset);
767-
return RepaintBoundary(
768-
child: ExtendedImage(
769-
image: imageProvider,
770-
fit: BoxFit.cover,
771-
loadStateChanged: (ExtendedImageState state) {
772-
Widget loader = const SizedBox.shrink();
773-
switch (state.extendedImageLoadState) {
774-
case LoadState.loading:
775-
loader = const ColoredBox(color: Color(0x10ffffff));
776-
break;
777-
case LoadState.completed:
778-
loader = Stack(
779-
children: <Widget>[
780-
Positioned.fill(
781-
child: RepaintBoundary(child: state.completedWidget),
782-
),
783-
selectedBackdrop(context, index, asset),
784-
],
785-
);
786-
break;
787-
case LoadState.failed:
788-
loader = failedItemBuilder(context);
789-
break;
790-
}
791-
return loader;
792-
},
793-
),
794-
);
765+
return RepaintBoundary(child: Image.file(asset, fit: BoxFit.cover));
795766
}
796767

797768
@override
@@ -1241,6 +1212,10 @@ class FileAssetPickerViewerBuilderDelegate
12411212
maxAssets: selectorProvider?.maxAssets,
12421213
);
12431214

1215+
late final PageController _pageController = PageController(
1216+
initialPage: currentIndex,
1217+
);
1218+
12441219
bool _isDisplayingDetail = true;
12451220

12461221
@override
@@ -1258,26 +1233,7 @@ class FileAssetPickerViewerBuilderDelegate
12581233
return GestureDetector(
12591234
behavior: HitTestBehavior.opaque,
12601235
onTap: switchDisplayingDetail,
1261-
child: ExtendedImage.file(
1262-
asset,
1263-
fit: BoxFit.contain,
1264-
mode: ExtendedImageMode.gesture,
1265-
onDoubleTap: updateAnimation,
1266-
initGestureConfigHandler: (ExtendedImageState state) {
1267-
return GestureConfig(
1268-
initialScale: 1.0,
1269-
minScale: 1.0,
1270-
maxScale: 3.0,
1271-
animationMinScale: 0.6,
1272-
animationMaxScale: 4.0,
1273-
cacheGesture: false,
1274-
inPageView: true,
1275-
);
1276-
},
1277-
loadStateChanged: (ExtendedImageState state) {
1278-
return previewWidgetLoadStateChanged(context, state);
1279-
},
1280-
),
1236+
child: Image.file(asset, fit: BoxFit.contain),
12811237
);
12821238
}
12831239

@@ -1367,7 +1323,7 @@ class FileAssetPickerViewerBuilderDelegate
13671323
children: <Widget>[
13681324
Positioned.fill(
13691325
child: RepaintBoundary(
1370-
child: ExtendedImage.file(asset, fit: BoxFit.cover),
1326+
child: Image.file(asset, fit: BoxFit.cover),
13711327
),
13721328
),
13731329
AnimatedContainer(
@@ -1452,9 +1408,9 @@ class FileAssetPickerViewerBuilderDelegate
14521408
child: Stack(
14531409
children: <Widget>[
14541410
Positioned.fill(
1455-
child: ExtendedImageGesturePageView.builder(
1411+
child: PageView.builder(
14561412
physics: const BouncingScrollPhysics(),
1457-
controller: pageController,
1413+
controller: _pageController,
14581414
itemCount: previewAssets.length,
14591415
itemBuilder: assetPageBuilder,
14601416
onPageChanged: (int index) {

example/pubspec.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ dependencies:
1717
path: ../
1818
wechat_camera_picker: ^3.0.0
1919

20-
extended_image: ^6.0.1
2120
meta: ^1.7.0
2221
package_info_plus: ^1.3.0
2322
path: ^1.8.0

lib/src/widget/builder/image_page_builder.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
/// [Author] Alex (https://github.com/Alex525)
33
/// [Date] 2020/4/6 15:07
44
///
5+
import 'dart:io';
6+
57
import 'package:extended_image/extended_image.dart';
68
import 'package:flutter/material.dart';
79
import 'package:flutter/services.dart';

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ dependencies:
1111
flutter:
1212
sdk: flutter
1313

14-
extended_image: ^6.0.1
14+
extended_image: ^6.0.2+1
1515
meta: ^1.7.0
1616
photo_manager: ^2.0.0
1717
provider: ^6.0.1

0 commit comments

Comments
 (0)