我如何在Flutter中裁剪我的WebView的大小?

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

我正在加载一个 WebView Page 在我 NavBar 项目。当我调试我的应用程序时,它显示了一个加载屏幕,上面有 NavBar 但一旦 WebView 负载 NavBar 被隐藏在它的后面。我使用的是 翩翩起舞 插件来加载WebViews。

enter image description here

这是发生在 WebView 已加载。enter image description here

这是我的WebView页面的代码。

import 'package:flutter/material.dart';
import 'package:flutter_webview_plugin/flutter_webview_plugin.dart';

class HomeWebView extends StatefulWidget {
  @override
  _HomeWebViewState createState() => _HomeWebViewState();
}

class _HomeWebViewState extends State<HomeWebView>
    with AutomaticKeepAliveClientMixin<HomeWebView> {
  @override
  Widget build(BuildContext context) {
    super.build(context);
    return WebviewScaffold(
      useWideViewPort: true,
      url: 'https://google.com',
    );
  }

  @override
  bool get wantKeepAlive => true;
}

有没有办法让我可以裁剪掉我的 WebView Scaffold 以使下面的NavBar可见并发挥作用?

flutter dart android-webview
1个回答
2
投票

你可以通过使用SafeArea widget来实现。

import 'package:flutter/material.dart';
import 'package:flutter_webview_plugin/flutter_webview_plugin.dart';

class HomeWebView extends StatefulWidget {
  @override
  _HomeWebViewState createState() => _HomeWebViewState();
}

class _HomeWebViewState extends State<HomeWebView>
    with AutomaticKeepAliveClientMixin<HomeWebView> {
  @override
  Widget build(BuildContext context) {
    super.build(context);
    return SafeArea(
      WebviewScaffold(
      useWideViewPort: true,
      url: 'https://google.com',
    ));
  }

  @override
  bool get wantKeepAlive => true;
}
© www.soinside.com 2019 - 2024. All rights reserved.