fix: WebView 手势接管偶发失败
This commit is contained in:
@@ -2,6 +2,8 @@ import 'dart:async';
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
|
import 'package:flutter/foundation.dart';
|
||||||
|
import 'package:flutter/gestures.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:permission_handler/permission_handler.dart';
|
import 'package:permission_handler/permission_handler.dart';
|
||||||
@@ -105,6 +107,11 @@ class H5ShellPage extends StatefulWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class _H5ShellPageState extends State<H5ShellPage> with WidgetsBindingObserver {
|
class _H5ShellPageState extends State<H5ShellPage> with WidgetsBindingObserver {
|
||||||
|
static final Set<Factory<OneSequenceGestureRecognizer>>
|
||||||
|
_webViewGestureRecognizers = <Factory<OneSequenceGestureRecognizer>>{
|
||||||
|
Factory<EagerGestureRecognizer>(() => EagerGestureRecognizer()),
|
||||||
|
};
|
||||||
|
|
||||||
late H5Line _h5Line;
|
late H5Line _h5Line;
|
||||||
late _H5LineWebViewSlot _lineSlot;
|
late _H5LineWebViewSlot _lineSlot;
|
||||||
|
|
||||||
@@ -905,6 +912,7 @@ class _H5ShellPageState extends State<H5ShellPage> with WidgetsBindingObserver {
|
|||||||
PlatformWebViewWidgetCreationParams params =
|
PlatformWebViewWidgetCreationParams params =
|
||||||
PlatformWebViewWidgetCreationParams(
|
PlatformWebViewWidgetCreationParams(
|
||||||
controller: _lineSlot.controller.platform,
|
controller: _lineSlot.controller.platform,
|
||||||
|
gestureRecognizers: _webViewGestureRecognizers,
|
||||||
);
|
);
|
||||||
|
|
||||||
if (_lineSlot.controller.platform is AndroidWebViewController) {
|
if (_lineSlot.controller.platform is AndroidWebViewController) {
|
||||||
|
|||||||
Reference in New Issue
Block a user