flutter WebviewScafford网页加载

本文详细介绍了在Flutter中使用WebViewScaffold组件加载网页的方法,包括设置初始URL、处理页面加载进度、注入JavaScript以及实现网页与应用的交互。通过实例代码解析,帮助开发者掌握在Flutter应用中集成网页内容的关键步骤。
摘要由CSDN通过智能技术生成

显示WEB页面


在这里插入图片描述

import 'dart:convert';
import 'dart:io';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_webview_plugin/flutter_webview_plugin.dart';
import 'package:http/http.dart' as http;

class WebViewDemo extends StatefulWidget {
  final String title;
  final String url;

  WebViewDemo({this.title, this.url});

  @override
  State<StatefulWidget> createState() {
    // TODO: implement createState
    return WebViewState();
  }
}

class WebViewState extends State<WebViewDemo> {
  var httpClient = new HttpClient();

  @override
  void initState() {
    // TODO: implement initState
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return Scaffold(
      body: WebviewScaffold(
        url: this.widget.url,
        appBar: AppBar(
          elevation: 0,
          title: Text(this.widget.title),
          leading: GestureDetector(
            onTap: back,
            child: Icon(Icons.arrow_back_ios),
          ),
          actions: <Widget>[
            GestureDetector(
              onTap: () {

              },
              child: Icon(Icons.share),
            ),
          ],
        ),
        //是否缩放页面
        withZoom: true,
        //是否本地存储
        withLocalStorage: true,
        //默认状态隐藏
        hidden: true,
        initialChild: Container(
          child: Center(
            //ios菊花进度条 等网页加载结束后消失
            child: CupertinoActivityIndicator(),
          ),
        ),
      ),
    );
  }
  // 返回上个页面
  back() {
    print(this.widget.url);
    Navigator.pop(context);
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值