설명 없음

Hadrien Lejard db6a401538 Merge pull request #38 from amuttsch/master 7 년 전
android 5c132c52cf [Android] Back button navigates back now instead of closing webview 7 년 전
example dba0ad0926 add WebviewScaffold 8 년 전
ios dba0ad0926 add WebviewScaffold 8 년 전
lib ed5176981a fix import meta warning 8 년 전
.gitignore 4e3488bc16 iOS web view plugin 8 년 전
CHANGELOG.md 2a5cf0ea0d fix Android close 8 년 전
LICENSE dba0ad0926 add WebviewScaffold 8 년 전
README.md dba0ad0926 add WebviewScaffold 8 년 전
analysis_options.yaml 39225b2919 use yaml extension 8 년 전
flutter_webview_plugin.iml feb642eaf0 first commit 8 년 전
pubspec.yaml 2a5cf0ea0d fix Android close 8 년 전

README.md

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);