【发布时间】:2022-01-21 03:14:51
【问题描述】:
我将以下代码用于 Flutter Webview(webview_flutter 包)。
当点击返回按钮时,_goBack() 设置是否返回上一页,如果没有上一页,则弹出webview。
然后我启用了gestureNavigationEnabled:true 以允许用户滑回之前的页面。效果很好。但是,当没有以前的页面时,滑动不会弹出 webview。
有没有办法让滑动返回与返回按钮相同的行为?
- 如果存在上一页,则滑动到上一页
- 如果没有上一页,滑动关闭网页视图
谢谢。
import 'package:webview_flutter/webview_flutter.dart';
body: WillPopScope(
onWillPop: () => _goBack(context),
child: WebView(
initialUrl: widget.url,
gestureNavigationEnabled: true,
onWebViewCreated: (WebViewController webViewController) {
_controllerCompleter.future.then((value) => _controller = value);
_controllerCompleter.complete(webViewController);
),
),
Future<bool> _goBack(BuildContext context) async {
if (await _controller.canGoBack()) {
_controller.goBack();
return Future.value(false);
} else {
Navigator.of(context).pop();
return Future.value(true);
}
}
【问题讨论】:
标签: flutter flutterwebviewplugin