如何在 Flutter 中裁剪 WebView 的大小?
How do I crop the size of my WebView in Flutter?
我正在将 WebView Page
加载到我的 NavBar
项中。当我调试我的应用程序时,它会显示一个带有 NavBar
的加载屏幕,但是一旦 WebView
加载,NavBar
就会隐藏在它后面。我正在使用 webview_flutter 插件加载 WebView。
这是 WebView
加载后发生的情况:
这是我的 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
的大小,以便下面的导航栏可见且有效?
您可以使用 SafeArea 小部件实现此目的:
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(
child: WebviewScaffold(
useWideViewPort: true,
url: 'https://google.com',
));
}
@override
bool get wantKeepAlive => true;
}
我正在将 WebView Page
加载到我的 NavBar
项中。当我调试我的应用程序时,它会显示一个带有 NavBar
的加载屏幕,但是一旦 WebView
加载,NavBar
就会隐藏在它后面。我正在使用 webview_flutter 插件加载 WebView。
这是 WebView
加载后发生的情况:
这是我的 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
的大小,以便下面的导航栏可见且有效?
您可以使用 SafeArea 小部件实现此目的:
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(
child: WebviewScaffold(
useWideViewPort: true,
url: 'https://google.com',
));
}
@override
bool get wantKeepAlive => true;
}