Flutter inAppWebView 中的后退手势在 Android 上不起作用

问题描述 投票:0回答:1

我的 inAppWebView 在 iOS 上识别后退和前进手势(从左/右边缘向内滑动)并自动执行相应的 goBack/goForward(没有为此添加代码)。

但在 Android 上它什么都不做——它根本不会对从左/右边缘向内滑动做出反应。

是否需要做任何事情/设置才能使这项工作在 Android 上也能正常工作?

我的结构是:SafeArea -> Scaffold -> Container -> Expanded -> Container -> InAppWebView

任何地方都没有明确或自定义的手势识别器。

我尝试使用 inAppWebView 属性“gestureRecognizers”——但没有任何效果。无论我在其中放置什么手势识别器,inAppWebView 的行为都完全相同。所以那个财产对我来说似乎什么都不做。

android flutter gesture flutter-inappwebview
1个回答
0
投票

使用这个 InAppWebView 你需要创建一个这样的函数:

 Future<bool> _handleBackButton() async {
    if (_webViewController != null && await _webViewController!.canGoBack()) {
      _webViewController!.goBack();
      return true;
    } else {
      return false;
    }
  }

并使用 WillPopScope 小部件包装 InAppWebview

return WillPopScope(
      onWillPop: _handleBackButton,
© www.soinside.com 2019 - 2024. All rights reserved.