Flutter开发 webview_flutter的基本使用

flutter不提供webiew。所以要使用webview_flutter插件。webview_flutter支持ios和android。

申请权限

xml 复制代码
    <uses-permission android:name="android.permission.INTERNET" />

引入插件

yaml 复制代码
dependencies:
  webview_flutter: ^4.13.0

效果

代码

dart 复制代码
class MyState extends State {


  @override
  void initState() {
    super.initState();
  }


  @override
  Widget build(BuildContext context) {


    WebViewController   controller = WebViewController()
      ..setJavaScriptMode(JavaScriptMode.unrestricted)
      ..setNavigationDelegate(
        NavigationDelegate(
          onProgress: (int progress) {
            // Update loading bar.
          },
          onPageStarted: (String url) {},
          onPageFinished: (String url) {},
          onHttpError: (HttpResponseError error) {},
          onWebResourceError: (WebResourceError error) {},
          onNavigationRequest: (NavigationRequest request) {
            if (request.url.startsWith('https://www.youtube.com/')) {
              return NavigationDecision.prevent;
            }
            return NavigationDecision.navigate;
          },
        ),
      );
    controller.loadRequest(Uri.parse('https://flutter.cn'));

    return Scaffold(
      appBar: AppBar(
        title: Text("登录"),
        centerTitle: true,
        backgroundColor: Colors.blue,
        foregroundColor: Colors.white,
      ),
      body: WebViewWidget(controller: controller),
    );
  }
}
相关推荐
二流小码农8 小时前
鸿蒙开发:this的指向问题
android·ios·harmonyos
循环不息优化不止8 小时前
Jetpack Compose 状态管理
android
友人.22710 小时前
Android 底部导航栏 (BottomNavigationView) 制作教程
android
努力学习的小廉10 小时前
初识MYSQL —— 事务
android·mysql·adb
阿里云云原生11 小时前
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
android
.豆鲨包11 小时前
【Android】Android内存缓存LruCache与DiskLruCache的使用及实现原理
android·java·缓存
旧时光_12 小时前
第3章:基础组件 —— 3.1 文本及样式
flutter
JulyYu12 小时前
【Android】针对非SDK接口的限制解决方案
android·客户端
旧时光_12 小时前
第2章:第一个Flutter应用 —— 2.8 Flutter异常捕获
flutter
猪哥帅过吴彦祖12 小时前
Flutter 系列教程:应用导航 - Navigator 1.0 与命名路由
android·flutter·ios