Skip to content
Flutter Plugin that Renders Native Webview as a widget in flutter
Branch: master
Clone or download
PonnamKarthik Merge pull request #21 from peeto/patch-1
Solution to problem found
Latest commit 35c9d74 May 27, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea 1.0.2 Jan 26, 2019
.vscode ios Support added Dec 6, 2018
android I'm told this is more correct May 17, 2019
example 1.0.2 Jan 26, 2019
ios quick fix to support loadData method Jan 6, 2019
lib loadData method iOS Support added Jan 12, 2019
screenshots Screenshot added Sep 11, 2018
.gitignore 1.0.2 Jan 26, 2019
.metadata ios Support added Dec 6, 2018
CHANGELOG.md 1.0.2 Jan 26, 2019
LICENSE ios Support added Dec 6, 2018
README.md Solution to problem found May 27, 2019
flutter_native_web.iml loadData method iOS Support added Jan 12, 2019
pubspec.yaml 1.0.2 Jan 26, 2019

README.md

flutter_native_web

Native WebView as a widget in flutter

Inline WebView in flutter using AndroidView and UiKitView

Supported

  • Android
  • iOS

Note

  • onPageStarted, onPageFinished Only works with Android

Screenshot

Screenshot

How to Use

dependencies:
  flutter_native_web: "^1.0.2"
  
import 'package:flutter_native_web/flutterwebview.dart';
WebController webController;

FlutterWebView flutterWebView = new FlutterWebView(
  onWebCreated: onWebCreated,
);
 new Container(
    child: flutterWebViewString,
    height: 300.0,
    width: 500.0,
 ),
void onWebCreated(webController) {
    this.webController = webController;
    this.webController.loadUrl("https://facebook.com");
    this.webController.onPageStarted.listen((url) =>
        print("Loading $url")
    );
    this.webController.onPageFinished.listen((url) =>
        print("Finished loading $url")
    );
}

or

String html = '<body>Hello world! <a href="www.html5rocks.com">HTML5 rocks!';

void onWebCreated(webController) {
    this.webController = webController;
    this.webController.loadData(html);
    this.webController.onPageStarted.listen((url) =>
        print("Loading $url")
    );
    this.webController.onPageFinished.listen((url) =>
        print("Finished loading $url")
    );
}

Android

Ensure the following permission is present in your Android Manifest file, located in project /android/app/src/main/AndroidManifest.xml:

<uses-permission android:name="android.permission.INTERNET"/>

iOS

Opt-in to the embedded views preview by adding a boolean property to the app's Info.plist file with the key io.flutter.embedded_views_preview and the value YES.

	<key>io.flutter.embedded_views_preview</key>
	<string>YES</string>

Coming soon

  • JSInterface
  • more (suggest)
You can’t perform that action at this time.