flutter_webview
のWebViewWidget
はWebViewWidget
ウィジットの表にFlutterのボタンというかウィジットがあったとしても
AbsorbPointer
やIgnorePointer
を使っても貫通されしまう。
https://pub.dev/packages/pointer_interceptor ってプラグインでも無理。
https://github.com/flutter/flutter/issues/81367
Googleの技術力が低すぎてできないのか、
しかし、WebViewWidget
なら貫通しないっぽい??
こんなの作る。
import 'package:flutter/material.dart'; import 'package:webview_flutter/webview_flutter.dart'; /// WebViewをガードする class WebViewGuard extends StatefulWidget { const WebViewGuard({Key? key}) : super(key: key); @override WebViewGuardState createState() => WebViewGuardState(); } class WebViewGuardState extends State<WebViewGuard> { WebViewController controller = WebViewController(); @override void initState() { super.initState(); Future(() async { await controller.setBackgroundColor(Colors.transparent); }); } @override Widget build(BuildContext context) { return WebViewWidget( controller: controller, ); } }
使うときは
Stack( children: [ // タップを裏に貫通させない const SizedBox(height: 60, child: WebViewGuard()), const Text('メッセージ'), ], ),
見たく。 Stack
で挟んで使う