如何解决在我的 flutter webview 应用程序中打开一个网站链接
我正在构建一个 flutter webview 应用程序来显示和使用我的网站,我希望当用户按下属于我网站的链接时,应用程序启动该链接,而不是在浏览器上启动它。 我使用 flutter_webview 包。 我怎样才能做到这一点? 如果您需要其他信息或代码,请告诉我。 提前致谢。
解决方法
您可以像这样使用 flutter_inappwebview
:
import 'package:flutter/material.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
class Code extends StatefulWidget {
@override
_CodeState createState() => _CodeState();
}
class _CodeState extends State<Code> {
InAppWebViewController webView;
String url = "";
double progress = 0;
@override
void initState() {
super.initState();
}
@override
void dispose() {
super.dispose();
}
@override
Widget build(BuildContext context) {
final appBar = AppBar(
elevation: 1.0,backgroundColor: Colors.blueGrey,title: Text('In-app website'),centerTitle: true,leading: IconButton(
icon: Icon(Icons.arrow_back),onPressed: () {
Navigator.of(context).pop();
},),);
final body = InAppWebView(
initialUrl: "https://www.google.com",initialHeaders: {},initialOptions: InAppWebViewGroupOptions(
crossPlatform: InAppWebViewOptions(
debuggingEnabled: true,onWebViewCreated: (InAppWebViewController controller) {
webView = controller;
},onLoadStart: (InAppWebViewController controller,String url) {
setState(() {
this.url = url;
});
},onLoadStop: (InAppWebViewController controller,String url) async {
setState(() {
this.url = url;
});
},onProgressChanged: (InAppWebViewController controller,int progress) {
setState(() {
this.progress = progress / 100;
});
},);
return Scaffold(
appBar: appBar,body: body,);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。