Skip to content

Commit 8eca2a3

Browse files
authored
Merge pull request #533 from vrtdev/feature/278-image-loading-widget
Allow custom image loading widget for network images
2 parents def53ac + 18be50f commit 8eca2a3

File tree

3 files changed

+5
-2
lines changed

3 files changed

+5
-2
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -534,6 +534,7 @@ Widget html = Html(
534534
networkSourceMatcher(): networkImageRender(
535535
headers: {"Custom-Header": "some-value"},
536536
altWidget: (alt) => Text(alt),
537+
loadingWidget: () => Text("Loading..."),
537538
),
538539
},
539540
);

example/lib/main.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@ class _MyHomePageState extends State<MyHomePage> {
174174
networkSourceMatcher(domains: ["mydomain.com"]): networkImageRender(
175175
headers: {"Custom-Header": "some-value"},
176176
altWidget: (alt) => Text(alt),
177+
loadingWidget: () => Text("Loading..."),
177178
),
178179
},
179180
onLinkTap: (url) {

lib/image_render.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ ImageRender networkImageRender({
9393
double width,
9494
double height,
9595
Widget Function(String) altWidget,
96+
Widget Function() loadingWidget,
9697
}) =>
9798
(context, attributes, element) {
9899
precacheImage(
@@ -143,7 +144,7 @@ ImageRender networkImageRender({
143144
height: height ?? _height(attributes),
144145
frameBuilder: (ctx, child, frame, _) {
145146
if (frame == null) {
146-
return altWidget.call(_alt(attributes)) ??
147+
return altWidget?.call(_alt(attributes)) ??
147148
Text(_alt(attributes) ?? "",
148149
style: context.style.generateTextStyle());
149150
}
@@ -154,7 +155,7 @@ ImageRender networkImageRender({
154155
return Text(_alt(attributes) ?? "",
155156
style: context.style.generateTextStyle());
156157
} else {
157-
return new CircularProgressIndicator();
158+
return loadingWidget?.call() ?? const CircularProgressIndicator();
158159
}
159160
},
160161
);

0 commit comments

Comments
 (0)