fix: WebView 手势接管偶发失败

This commit is contained in:
Booker
2026-06-10 13:14:54 +07:00
parent 97e8abace8
commit 804b83af66

View File

@@ -2,6 +2,8 @@ import 'dart:async';
import 'dart:convert';
import 'dart:io';
import 'package:flutter/foundation.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:permission_handler/permission_handler.dart';
@@ -105,6 +107,11 @@ class H5ShellPage extends StatefulWidget {
}
class _H5ShellPageState extends State<H5ShellPage> with WidgetsBindingObserver {
static final Set<Factory<OneSequenceGestureRecognizer>>
_webViewGestureRecognizers = <Factory<OneSequenceGestureRecognizer>>{
Factory<EagerGestureRecognizer>(() => EagerGestureRecognizer()),
};
late H5Line _h5Line;
late _H5LineWebViewSlot _lineSlot;
@@ -905,6 +912,7 @@ class _H5ShellPageState extends State<H5ShellPage> with WidgetsBindingObserver {
PlatformWebViewWidgetCreationParams params =
PlatformWebViewWidgetCreationParams(
controller: _lineSlot.controller.platform,
gestureRecognizers: _webViewGestureRecognizers,
);
if (_lineSlot.controller.platform is AndroidWebViewController) {