我试着写了一个代码,显示我的网站上扑应用程序,在底部栏有两个按钮,可以做向前和向后.但是WebView包显示了一个错误。我使用Flutter 3.7.5和vsCode作为我的IDE。这是我的代码。
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
final _controller = Completer<WebViewController>();
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('keeTube'),
),
body: WebView (
initialUrl: "https://keetube.netlify.app/",
onWebViewCreated: (controller) => _controller.complete(controller),
),
bottomNavigationBar: Container(
color: Theme.of(context).accentColor,
child: Padding(
padding: EdgeInsets.only(bottom: 20, right: 20),
child: ButtonBar(
children: [
navigationButton(
Icons.chevron_left, (controller) => _goBack(controller)),
navigationButton(
Icons.chevron_right, (controller) => _goForward(controller))
],
),
),
),
),
);
}
Widget navigationButton(
IconData icon, Function(WebViewController) onPressed) {
return FutureBuilder(
future: _controller.future,
builder: (context, AsyncSnapshot<WebViewController> snapshot) {
if (snapshot.hasData) {
return IconButton(
icon: Icon(
icon,
color: Colors.white,
),
onPressed: () => onPressed(snapshot.data!));
} else {
return Container();
}
});
}
void _goBack(WebViewController controller) async {
final canGoBack = await controller.canGoBack();
if (canGoBack) {
controller.goBack();
}
}
void _goForward(WebViewController controller) async {
final canGoForward = await controller.canGoForward();
if (canGoForward) {
controller.goForward();
}
}
}
它让我在“Webview”关键字上出现了这个错误
未为类型“MyApp”定义方法“WebView”。尝试将名称更正为现有方法的名称,或定义名为“WebView”的方法
1.我在pubspec.yaml文件上安装了依赖项
dependencies:
flutter:
sdk: flutter
webview_flutter: ^4.2.0
[webapp] flutter pub get
Running "flutter pub get" in webapp...
Resolving dependencies...
async 2.10.0 (2.11.0 available)
characters 1.2.1 (1.3.0 available)
collection 1.17.0 (1.17.1 available)
js 0.6.5 (0.6.7 available)
lints 2.0.1 (2.1.0 available)
matcher 0.12.13 (0.12.16 available)
material_color_utilities 0.2.0 (0.5.0 available)
meta 1.8.0 (1.9.1 available)
path 1.8.2 (1.8.3 available)
source_span 1.9.1 (1.10.0 available)
test_api 0.4.16 (0.5.2 available)
Got dependencies!
1.我把minSdkVersion改成了19
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.webapp"
// You can update the following values to match your application needs.
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
minSdkVersion 19
targetSdkVersion flutter.targetSdkVersion
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
所以如果有人能告诉我如何修复它作为显示一个网站。
1条答案
按热度按时间1aaf6o9v1#
您可以使用以下代码创建WebView:
有关更多详细信息,请查看此https://pub.dev/packages/webview_flutter