@@ -74,7 +74,7 @@ const htmlData = r"""
74
74
<td rowspan='2'>Rowspan\nRowspan\nRowspan\nRowspan\nRowspan\nRowspan\nRowspan\nRowspan\nRowspan\nRowspan</td><td>Data</td><td>Data</td>
75
75
</tr>
76
76
<tr>
77
- <td colspan="2"><img alt='Google' src='https://hdwallsource. com/img/2014/7/large-40566-41516-hd-wallpapers.jpg ' /></td>
77
+ <td colspan="2"><img alt='Google' src='https://www.google. com/images/branding/googlelogo/2x/googlelogo_color_92x30dp.png ' /></td>
78
78
</tr>
79
79
</tbody>
80
80
<tfoot>
@@ -122,7 +122,7 @@ const htmlData = r"""
122
122
</p>
123
123
<h3>Image support:</h3>
124
124
<h3>Network png</h3>
125
- <img alt='Google' src='https://hdwallsource. com/img/2014/7/large-40566-41516-hd-wallpapers.jpg ' />
125
+ <img alt='Google' src='https://www.google. com/images/branding/googlelogo/2x/googlelogo_color_92x30dp.png ' />
126
126
<h3>Network svg</h3>
127
127
<img src='https://dev.w3.org/SVG/tools/svgweb/samples/svg-files/android.svg' />
128
128
<h3>Local asset png</h3>
@@ -247,9 +247,8 @@ class _MyHomePageState extends State<MyHomePage> {
247
247
title: Text ('flutter_html Example' ),
248
248
centerTitle: true ,
249
249
),
250
- body: ListView .builder (
251
- itemCount: 5 ,
252
- itemBuilder: (context, index) => Html (
250
+ body: SingleChildScrollView (
251
+ child: Html (
253
252
data: htmlData,
254
253
tagsList: Html .tags..addAll (["bird" , "flutter" ]),
255
254
style: {
@@ -268,13 +267,17 @@ class _MyHomePageState extends State<MyHomePage> {
268
267
alignment: Alignment .topLeft,
269
268
),
270
269
'h5' : Style (maxLines: 2 , textOverflow: TextOverflow .ellipsis),
270
+ 'iframe' : Style (
271
+ display: Display .BLOCK ,
272
+ padding: const EdgeInsets .symmetric (horizontal: 16.0 ),
273
+ ),
271
274
},
272
275
customRender: {
273
276
"table" : (context, child) {
274
277
return SingleChildScrollView (
275
278
scrollDirection: Axis .horizontal,
276
279
child:
277
- (context.tree as TableLayoutElement ).toWidget (context),
280
+ (context.tree as TableLayoutElement ).toWidget (context),
278
281
);
279
282
},
280
283
"bird" : (RenderContext context, Widget child) {
@@ -296,19 +299,19 @@ class _MyHomePageState extends State<MyHomePage> {
296
299
return FlutterLogo (size: 36 );
297
300
},
298
301
networkSourceMatcher (domains: ["mydomain.com" ]):
299
- networkImageRender (
302
+ networkImageRender (
300
303
headers: {"Custom-Header" : "some-value" },
301
304
altWidget: (alt) => Text (alt ?? "" ),
302
305
loadingWidget: () => Text ("Loading..." ),
303
306
),
304
307
// On relative paths starting with /wiki, prefix with a base url
305
- (attr, _) =>
306
- attr["src" ] != null && attr["src" ]! .startsWith ("/wiki" ):
307
- networkImageRender (
308
- mapUrl: (url) => "https://upload.wikimedia.org" + url! ),
308
+ (attr, _) =>
309
+ attr["src" ] != null && attr["src" ]! .startsWith ("/wiki" ):
310
+ networkImageRender (
311
+ mapUrl: (url) => "https://upload.wikimedia.org" + url! ),
309
312
// Custom placeholder image for broken links
310
313
networkSourceMatcher ():
311
- networkImageRender (altWidget: (_) => FlutterLogo ()),
314
+ networkImageRender (altWidget: (_) => FlutterLogo ()),
312
315
},
313
316
onLinkTap: (url, _, __, ___) {
314
317
print ("Opening $url ..." );
@@ -327,7 +330,7 @@ class _MyHomePageState extends State<MyHomePage> {
327
330
});
328
331
},
329
332
),
330
- )
333
+ ),
331
334
);
332
335
}
333
336
}
0 commit comments