pub package

flutter_plugin_webview

Plugin that allow Flutter to communicate with a native WebView.

Warning: The webview is not integrated in the widget tree, it is a native view on top of the flutter view. you won't be able to use snackbars, dialogs ...

Getting Started

For help getting started with Flutter, view our online documentation.

How it works

Launch WebView Fullscreen with Flutter navigation

new MaterialApp(
        routes: {
            "/": (_) => new WebViewScaffold(
                url: "https://www.google.com",
                appBar: new AppBar(
                title: new Text("Widget webview"),
            ),
        )
    },
);

WebViewPlugin.getInstance() provide a singleton instance linked to one unique webview, so you can take control of the webview from anywhere in the app

Listen to state change

Breaking changes version >= 0.0.12
WebViewState = {
        WebViewEvent event;
        String url;
    }

on event closed state = null

WebViewState.event = { WebViewEventLoadStarted | WebViewEventLoadFinished | WebViewEventError }

final webviewPlugin = WebViewPlugin.getInstance();  

webviewPlugin.onStateChange.listen((WebViewState state) {
    state.event //get the event
});

Close launched WebView

webviewPlugin.close();

Webview inside custom Rectangle

final webviewPlugin = WebViewPlugin.getInstance();  

webviewPlugin.luanch(
        url,
        rect: new Rect.fromLTWH(
        0.0,
        0.0,
        MediaQuery.of(context).size.width,
        300.0,
    ));

Don't forget to dispose webview flutterWebviewPlugin.dispose()

Webview Functions

Future<Boolean> launch(String url, {
    Map<String, String> headers,
    bool enableJavaScript,
    bool clearCache,
    bool clearCookies,
    bool visible,
    Rect rect,
    String userAgent,
    bool enableZoom,
    bool enableLocalStorage,
    bool enableScroll,
    }
);
Future<String> evalJavascript(String code);
Future<Boolean> resize(Rect rect);
Future<Boolean> stopLoading();
Future<Boolean> refresh();
Future<Boolean> hasBack();
Future<Boolean> back();
Future<Boolean> hasForward();
Future<Boolean> forward();
Future<Boolean> clearCookies();
Future<Boolean> clearCache();
Future<Boolean> reloadUrl(String url);

Libraries

flutter_plugin_webview
helpers
webview_scaffold
webview_state

Dart

dart:ui
Built-in types and core primitives for a Flutter application. [...]

Core

dart:async
Support for asynchronous programming, with classes such as Future and Stream. [...]
dart:collection
Classes and utilities that supplement the collection support in dart:core. [...]
dart:convert
Encoders and decoders for converting between different data representations, including JSON and UTF-8. [...]
dart:core
Built-in types, collections, and other core functionality for every Dart program. [...]
dart:developer
Interact with developer tools such as the debugger and inspector. [...]
dart:math
Mathematical constants and functions, plus a random number generator. [...]
dart:typed_data
Lists that efficiently handle fixed sized data (for example, unsigned 8 byte integers) and SIMD numeric types. [...]

VM

dart:io
File, socket, HTTP, and other I/O support for non-web applications. [...]
dart:isolate
Concurrent programming using isolates: independent workers that are similar to threads but don't share memory, communicating only via messages. [...]