This widget turn html string into flutter widgets like Text, RichText and Table.
This is so not a webview alternative. Think this as a read mode for simple html elements.
The widget is extracted from wiki-flutter, and is initially designed for html segments in the mobile version of wikipedia articles only, so there's gonna be many, many issues for arbitrary html segments.
import 'package:flutter_html_widget/flutter_html_widget.dart'; final html = """ <section class="homepage__key_points card"> <h1 class="homepage__title"> Build beautiful native apps in record time </h1> <div class="homepage__tagline"> Flutter is Google’s mobile app SDK for crafting high-quality native interfaces on iOS and Android in record time. Flutter works with existing code, is used by developers and organizations around the world, and is free and open source. </div> </section> """; new MaterialApp( home: new Material( child: new HtmlWidget(html: html, key: key) ), );
will produce widgets like
new Wrap( children: <Widget>[ new Container( padding: EdgeInsets.all(8.0), child: new RichText( text: new TextSpan( children: [ new TextSpan(text: "Build beautiful native apps in record time") ] ), ) ) ], )
- basic text, link, paragraph, list, image, caption, etc.
on the roadmap
- styles for
- inline images
- video element
- more options
not for now
- complex table
- Built-in types and core primitives for a Flutter application. [...]
- Support for asynchronous programming, with classes such as Future and Stream. [...]
- Classes and utilities that supplement the collection support in dart:core. [...]
- Encoders and decoders for converting between different data representations, including JSON and UTF-8. [...]
- Built-in types, collections, and other core functionality for every Dart program. [...]
- Interact with developer tools such as the debugger and inspector. [...]
- Mathematical constants and functions, plus a random number generator. [...]
- Lists that efficiently handle fixed sized data (for example, unsigned 8 byte integers) and SIMD numeric types. [...]
- File, socket, HTTP, and other I/O support for non-web applications. [...]
- Concurrent programming using isolates: independent workers that are similar to threads but don't share memory, communicating only via messages. [...]