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.
69 lines
1.9 KiB
69 lines
1.9 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 ScanWeb extends StatefulWidget { |
|
final Map<String, dynamic>? arguments; |
|
|
|
ScanWeb({this.arguments}); |
|
@override |
|
State<StatefulWidget> createState() { |
|
return _ScanWeb(); |
|
} |
|
} |
|
|
|
class _ScanWeb extends State<ScanWeb> { |
|
var controller = new ScrollController(); |
|
late WebViewController _webViewController; |
|
String? result; |
|
String? title; |
|
|
|
@override |
|
void initState() { |
|
super.initState(); |
|
result = widget.arguments?["result"]; |
|
title = widget.arguments?["title"]; |
|
EasyLoading.show(status: S.current.zhengzaijiazai,maskType: EasyLoadingMaskType.black); |
|
|
|
if (result?.isNotEmpty ?? false) { |
|
_webViewController = WebViewController() |
|
..setJavaScriptMode(JavaScriptMode.unrestricted) |
|
..setNavigationDelegate( |
|
NavigationDelegate( |
|
onProgress: (int progress) { |
|
// Update loading bar. |
|
}, |
|
onPageStarted: (String url) {}, |
|
onPageFinished: (String url) {}, |
|
onWebResourceError: (WebResourceError error) {}, |
|
onNavigationRequest: (NavigationRequest request) { |
|
// if (request.url.startsWith('https://www.youtube.com/')) { |
|
// return NavigationDecision.prevent; |
|
// } |
|
return NavigationDecision.navigate; |
|
}, |
|
), |
|
) |
|
..loadRequest(Uri.parse(result!)); |
|
} |
|
|
|
} |
|
|
|
@override |
|
Widget build(BuildContext context) { |
|
return Scaffold( |
|
appBar: MyAppBar( |
|
title:title ?? "", |
|
titleColor: Colors.black, |
|
background: Colors.transparent, |
|
leadingColor: Colors.black, |
|
), |
|
body: |
|
WebViewWidget( |
|
controller: _webViewController, |
|
), |
|
); |
|
} |
|
}
|
|
|