You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

86 lines
2.6 KiB

import 'package:flutter/material.dart';
import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:huixiang/generated/l10n.dart';
import 'package:huixiang/view_widget/my_appbar.dart';
import 'package:webview_flutter/webview_flutter.dart';
class TreatyPage extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return _TreatyPage();
}
}
class _TreatyPage extends State<TreatyPage> {
var controller = new ScrollController();
WebViewController? _webViewController;
@override
void initState() {
super.initState();
EasyLoading.show(status: S.current.zhengzaijiazai,maskType: EasyLoadingMaskType.black);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: MyAppBar(
title:S.of(context).yinsishengming,
titleColor: Colors.black,
background: Colors.transparent,
leadingColor: Colors.black,
),
body:
Container(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height,
alignment: Alignment.center, //TreatyPage
child: FutureBuilder(
future: loadWeb(),
builder: (context, AsyncSnapshot snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return Center(
child: CircularProgressIndicator(),
);
} else if (snapshot.hasError) {
return Text("加载失败");
} else {
return snapshot.data ?? Text("NO DATA");
}
},
),
),
);
}
Future<Widget> loadWeb() async {
Widget res ;
try {
_webViewController = WebViewController()
..setJavaScriptMode(JavaScriptMode.unrestricted)
..setNavigationDelegate(
NavigationDelegate(
onProgress: (int progress) {},
onPageStarted: (String url) {},
onPageFinished: (String url) {
EasyLoading.dismiss();
},
onWebResourceError: (WebResourceError error) {},
onNavigationRequest: (NavigationRequest request) {
// if (request.url.startsWith('https://www.youtube.com/')) {
// return NavigationDecision.prevent;
// }
return NavigationDecision.navigate;
},
),
)
..loadRequest(Uri.parse("http://huixiang.lotus-wallet.com/Privacy.html"));
res = WebViewWidget(controller: _webViewController!);
} catch (error) {
res = Text("加载失败");
}
return res;
}
}