Flutter笔记--WebView

这一节主要介绍WebView的使用,直接上代码,如下:

onTap: () {
        print("----_Article----GestureDetector--");
        CommonUtils.push(context,WebViewPage(
          url: article.link,
          title: article.title,
          id: article.id,
          isCollect: article.collect,
        ));
      },


WebViewPage 如下:

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

class WebViewPage extends StatefulWidget {

  final String url;
  final String title;
  final int id;
  final bool isCollect;

  const WebViewPage({Key key,this.url,this.title,this.id,this.isCollect}):super(key:key);

  @override
  State<StatefulWidget> createState() {
   return WebViewPageState(url, title, id, isCollect);
  }
}

class WebViewPageState extends State<WebViewPage> with TickerProviderStateMixin{

  final String url;
  String title;
  int id;
  bool isCollect;
  WebViewController webViewController = null;
  AnimationController controller;

  WebViewPageState(this.url, this.title, this.id, this.isCollect);

  @override
  void initState() {
    super.initState();
    controller = AnimationController(duration: const Duration(milliseconds: 2000), vsync: this);
  }

  @override
  Widget build(BuildContext context) {
   return new WillPopScope(
       child: Scaffold(
         appBar: AppBar(title: Text(title),),
         body: Column(
           children: <Widget>[
             Expanded(
               child: WebView(
                 initialUrl: url,
                 javascriptMode: JavascriptMode.unrestricted,
                 onWebViewCreated: (WebViewController controller) {
                   webViewController = controller;
                 },
               ),
             )
           ],
         ),
       ),
       onWillPop: null);
  }

}

  CommonUtils如下:

import 'package:flutter/cupertino.dart';

class CommonUtils {
  static Future push(BuildContext context,Widget widget) {
    Future result = Navigator.push(context,
    CupertinoPageRoute(
      builder: (context) => widget,
    ));
  }
}

猜你喜欢

转载自blog.csdn.net/ljt2724960661/article/details/109968216