flutter中的WebviewScaffold(类似安卓中的webView)WebviewScaffold是插件提供的组件,⽤于在页⾯上显⽰⼀个WebView并加载URL
安装插件 flutter_webview_plugin: ^0.2.1
从listview点击item跳转页⾯加载详情页案例
import 'dart:async';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_webview_plugin/flutter_webview_plugin.dart';
/**
* @Description  新闻⽹页,h5
* @Author  zhibuyu
* @Date 2018/10/19  9:09
* @Version  1.0
*/
class NewsWebPage extends StatefulWidget{
String  news_url;
String title;
ws_url,this.title);
@override
State<StatefulWidget> createState()=>new NewsWebPageState(news_url,title);
}
class NewsWebPageState extends State<NewsWebPage>{
String  news_url;
String title;
// 标记是否是加载中
bool loading = true;
// 标记当前页⾯是否是我们⾃定义的回调页⾯
bool isLoadingCallbackPage = false;
GlobalKey<ScaffoldState> scaffoldKey = new GlobalKey();
javascript进度条
// URL变化
StreamSubscription<String> onUrlChanged;
// WebView加载状态变化
StreamSubscription<WebViewStateChanged> onStateChanged;
// 插件提供的对象,该对象⽤于WebView的各种操作
FlutterWebviewPlugin flutterWebViewPlugin = new FlutterWebviewPlugin();
ws_url, this.title);
@override
void initState() {
onStateChanged = StateChanged.listen((WebViewStateChanged state){
// pe是⼀个枚举类型,取值有:WebViewState.shouldStart, WebViewState.startLoad, WebViewState.finishLoad
switch (pe) {
case WebViewState.shouldStart:
// 准备加载
setState(() {
loading = true;
});
break;
case WebViewState.startLoad:
// 开始加载
break;
case WebViewState.finishLoad:
// 加载完成
setState(() {
loading = false;
});
if (isLoadingCallbackPage) {
/
/ 当前是回调页⾯,则调⽤js⽅法获取数据
parseResult();
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。