在对话框中打开Flutter打开的Webview

时间:2019-02-13 06:06:27

标签: flutter

//这是我的网页浏览抖动代码

  @override
  Widget build(BuildContext context) {
   return Scaffold(
    body: Center(
    child : WebviewScaffold(
      url: "https://www.facebook.com/",
      // appBar: new AppBar(
      //   // title: new Text('Hairtips'),
      // ),
      withZoom: true,
      withLocalStorage: true,    
     )
   ),
 );

  }

我正在我的Flutter应用程序中实现webview。我的片段中有三个textview。当我点击textview时,我想在对话框中打开webview。我知道如何在android中实现此功能。请建议我一些解决方案这个问题

2 个答案:

答案 0 :(得分:0)

check this output 您可以通过将填充包装在容器中来向WebViewScaffold添加填充。

import 'package:flutter/material.dart';
import 'package:flutter_webview_plugin/flutter_webview_plugin.dart';


class WebViewDialogDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
   return Container(
     padding:EdgeInsets.Symmetric(
       horizontal:20,
       vertical:40
     ),
     child: WebviewScaffold(
      url: "https://instagram.com/mahi7781",       
      withZoom: true,
      withLocalStorage: true,
      initialChild: Container(
          color: Colors.redAccent,
          child: const Center(
            child: Text("Loading...."),
        ),
      ),
    ));
  }
}

答案 1 :(得分:-1)

您可以使用“ https://pub.dartlang.org/packages/url_launcher”包启动URL。但它不会在您的应用中打开。它将打开默认的平台浏览器。

您也可以尝试使用“ https://pub.dartlang.org/packages/flutter_webview_plugin”软件包。它应在您的应用对话框中打开Web视图。但是,我还没有尝试过。让我知道它是否有效。.

===更新===

我使用了flutter_web_view插件并运行了以下代码。它工作正常。

我遵循了“ https://pub.dartlang.org/packages/flutter_webview_plugin#-readme-tab-”中提供的确切步骤

希望这会有所帮助。

import 'package:flutter/material.dart';
import 'package:flutter_webview_plugin/flutter_webview_plugin.dart';

/// call this widget in MaterialApp - home.
class WebViewDialogDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return WebviewScaffold(
      url: "https://google.com",
      appBar: AppBar(
        title: Text("WebView Demo"),
        centerTitle: true,
      ),
      withZoom: true,
      withLocalStorage: true,
      initialChild: Container(
        color: Colors.redAccent,
        child: const Center(
          child: Text("Loading...."),
        ),
      ),
    );
  }
}

enter image description here

相关问题