flutter_plugin_webview 0.0.3 flutter_plugin_webview: ^0.0.3 copied to clipboard
WebView flutter plugin
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
WebViewState.event = { WebViewStateEventLoadStarted | WebViewStateEventLoadFinished | WebViewStateEventError | WebViewStateEventIdle | WebViewStateEventClosed }
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);