暫無描述

Lejard Hadrien c4827a1b36 fix pubspec for publish 7 年之前
android 70ab402c85 fix for dart2 7 年之前
example 70ab402c85 fix for dart2 7 年之前
ios dba0ad0926 add WebviewScaffold 8 年之前
lib 70ab402c85 fix for dart2 7 年之前
.gitignore 4e3488bc16 iOS web view plugin 8 年之前
CHANGELOG.md 70ab402c85 fix for dart2 7 年之前
LICENSE dba0ad0926 add WebviewScaffold 8 年之前
README.md db986e575b Update README.md 7 年之前
analysis_options.yaml 39225b2919 use yaml extension 8 年之前
flutter_webview_plugin.iml feb642eaf0 first commit 8 年之前
pubspec.yaml c4827a1b36 fix pubspec for publish 7 年之前

README.md

pub package

flutter_webview_plugin

Plugin that allow Flutter to communicate with a native WebView.

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"),
              ),
            )
      },
    );

FlutterWebviewPlugin provide a singleton instance linked to one unique webview, so you can take control of the webview from anywhere in the app

listen for events

final flutterWebviewPlugin = new FlutterWebviewPlugin();

flutterWebviewPlugin.onUrlChanged.listen((String url) {
  
});

Hidden WebView

final flutterWebviewPlugin = new FlutterWebviewPlugin();  

flutterWebviewPlugin.launch(url, hidden: true);

Close launched WebView

flutterWebviewPlugin.close();

Webview inside custom Rectangle

final flutterWebviewPlugin = new FlutterWebviewPlugin();  

flutterWebviewPlugin.launch(url,
                  fullScreen: false,
                  rect: new Rect.fromLTWH(
                      0.0, 
                      0.0, 
                      MediaQuery.of(context).size.width, 
                      300.0));

Webview Events

  • Stream<Null> onDestroy
  • Stream<String> onUrlChanged
  • Stream<WebViewStateChanged> onStateChanged
  • Stream<String> onError

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

Webview Functions

Future<Null> launch(String url,
         {bool withJavascript: true,
         bool clearCache: false,
         bool clearCookies: false,
         bool hidden: false,
         bool enableAppScheme: true,
         Rect rect: null,
         String userAgent: null});
Future<String> evalJavascript(String code);
Future<Map<String, dynamic>> getCookies();
Future<Null> resize(Rect rect);