封装flutter webview页面

例如在flutter里面跳转百度页面

需要安装webview_flutter

webview_page.dart

Dart 复制代码
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';



class MyWebView extends StatefulWidget {


  const MyWebView({super.key, required this.webViewUrl,  this.webViewTitle =''});
 final String webViewUrl;
 final String webViewTitle;
  @override
  // ignore: library_private_types_in_public_api
  _MyWebViewState createState() => _MyWebViewState();
}

class _MyWebViewState extends State<MyWebView> {



  @override
  Widget build(BuildContext context) {
     WebViewController controller = WebViewController()
  ..setJavaScriptMode(JavaScriptMode.unrestricted)
  ..setBackgroundColor(const Color(0x00000000))
  ..setNavigationDelegate(
    NavigationDelegate(
      onProgress: (int progress) {
        // Update loading bar.
      },
      onPageStarted: (String url) {},
      onPageFinished: (String url) {},
      onWebResourceError: (WebResourceError error) {},
    ),
  )
  ..loadRequest(Uri.parse(widget.webViewUrl));
    return MaterialApp(
      title: 'Material App',
      home: Scaffold(
          appBar: AppBar(
            leading: GestureDetector(child: Icon(Icons.arrow_back),onTap: (){Navigator.pop(context);},),
            title:  Text(widget.webViewTitle),
            centerTitle: true,
            backgroundColor: const Color(0xFF206CFF),
          ),
          body: WebViewWidget(controller: controller)
          ),
    );
  }
}

使用

Dart 复制代码
 Navigator.push(
    context,
    MaterialPageRoute(
      builder: (context) => MyWebView(webViewUrl: 'https://www.baidu.com/', webViewTitle: '百度一下你就知道'),
    ),
  );
相关推荐
GitLqr6 小时前
玩转 Flutter 项目依赖:从 pubspec.yaml 到实战包管理
flutter·面试·全栈
程序员老刘12 小时前
Qwen 3.8 max干了20分钟没干完,免费模型3分17秒搞定,问题出在哪?
flutter·ai编程
飞凌嵌入式15 小时前
告别多端重复开发:Buildroot+Flutter实现全平台UI风格统一
flutter·ui
FungLeo15 小时前
Flutter 带 TTL 的多级缓存设计:内存+磁盘+网络三层实战
网络·flutter·缓存·性能优化
FungLeo16 小时前
Flutter 可复用公共组件库设计与落地:AppDialog/BottomSheet 等实战
flutter
Fungleo1069971 天前
Flutter/Android Release 包连不上网?AndroidManifest INTERNET 权限排查实录
flutter
GitLqr1 天前
Flutter 实战:为你的 App 增加桌面快捷方式 (Quick Actions)
flutter·app·全栈
FungLeo1 天前
Flutter 把第三方 UI 库渐进迁回 Material 3:组件映射总表 + 四批次替换实战
flutter·ui
GitLqr3 天前
iOS 27 强制要求 UISceneDelegate:UIKit 和 Flutter 开发者该如何应对?
flutter·ios·全栈
蜡台3 天前
Flutter HTTP 请求完整详解
网络协议·flutter·http·dart