在 webview flutter 中修复 header (navbar)

Fixing header (navbar) in webview flutter

我目前正在做一个项目,我需要使用 flutter 将网站转换为移动应用程序 我用 WEBVIEW 小部件做到了,但是当我滚动页面时,我手机中 webview 的 header 没有固定,我的网站的 header (navBar) 也滚动了,但我希望它甚至被修复如果我滚动页面 这是我的代码:

import 'dart:async';
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';


class HomePage extends StatefulWidget {
  const HomePage({Key? key}) : super(key: key);

  @override
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> with TickerProviderStateMixin{

  final Completer<WebViewController> _controller =
  Completer<WebViewController>();

  late WebViewController _webViewController;


  @override
  Widget build(BuildContext context) {
    String hexString = "1b5c80";
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      title: 'Welcome to Flutter',
      home: Scaffold(
        body: WebView(
          initialUrl: "https://www.journaldunet.fr/web-tech/dictionnaire-du-webmastering/1203251-blog-definition-et-acteurs/",
          javascriptMode: JavascriptMode.unrestricted,
          onWebViewCreated: (WebViewController webViewController) {
            _webViewController = webViewController;
            _controller.complete(webViewController);
            },
          onPageFinished: (String url) {
            _webViewController.evaluateJavascript("javascript:(function() { " +
                "var footer = document.getElementsByTagName('footer')[0];" +
                "footer.parentNode.removeChild(footer);" +
                "})()");
            },
          gestureNavigationEnabled: true,
        ),
      ),
    );
  }

  JavascriptChannel _toasterJavascriptChannel(BuildContext context) {
    return JavascriptChannel(
        name: 'Toaster',
        onMessageReceived: (JavascriptMessage message) {
          // ignore: deprecated_member_use
          Scaffold.of(context).showSnackBar(
            SnackBar(content: Text(message.message)),
          );
        });
  }
}

这是我的手机应用程序:

如果你在Flutter中构建自己的AppBar,那么它会根据你的情况进行修复。 但是如果 header 来自 Webview 那么你无法控制这个...... 因为 Webview 只是您网站在 flutter 应用程序中的视图...

用 SafeArea 包裹你的脚手架。

SafeArea(
  child: Scaffold