web-dev-qa-db-fra.com

Comment ajouter une vue Web dans Flutter?

Je sais qu'il est possible d'ajouter une WebView en tant que page complète mais je n'ai pas trouvé d'exemple de code pour le faire. Je suppose que vous pouvez utiliser un PageView en tant que base, mais vous ne savez pas comment appeler Android WebView natif et l'ajouter au PageView.

Est-ce que quelqu'un peut-il me montrer la bonne direction?

7
Donny V.

Flutter ne prend pas en charge les WebViews incorporés. Suivez numéro 730 pour les mises à jour.

Vous pouvez toujours afficher du contenu Web dans votre application, mais vous devrez quitter Flutter-Land à l'aide du système de plug-in.

Si vous voulez juste ouvrir un navigateur, vous pouvez utiliser le plugin url_launcher Flutter.

Si vous voulez faire quelque chose de plus sophistiqué (peut-être que vous ne voulez pas de barre d'adresse visible), vous pouvez implémenter un UIViewController personnalisé ( exemple iOS ) et une activité ( exemple Android ) et utiliser le plugin API à lancer dans ceux-ci.

10
Collin Jackson

Vous pouvez utiliser https://pub.dartlang.org/packages/webview_flutter

exemple

import 'package:webview_flutter/webview_flutter.Dart';

return Scaffold(
      appBar: AppBar(
        title: const Text('Flutter WebView example'),
      ),
      body: const WebView(
        initialUrl: 'https://flutter.io',
        javascriptMode: JavascriptMode.unrestricted,
      ),
    );
5
Shyju M

webview plugin fonctionne bien, mais il sera créé au-dessus de chaque bit de votre application. Vous devrez donc ajouter une logique supplémentaire pour afficher et masquer le plugin. Vous pouvez l'afficher en plein écran ou sous la forme d'un rectangle dimensionné.

https://pub.dartlang.org/packages/flutter_webview_plugin

3
orangesherbert

Vous pouvez utiliser le plugin Dart ci-dessous pour afficher Webview. Vous pouvez également trouver le plugin Dart à partir de cette URL: https://pub.dartlang.org/packages/flutter_webview_plugin

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