Flutter: Cách sử dụng Plugin WebView
Dễ dàng hiển thị các trang web bên trong ứng dụng Flutter của bạn với việc sử dụng plugin WebView . Trong ứng dụng mẫu của  ta ,  ta  sẽ xem xét cách tạo một Widget tùy chỉnh  được dùng  trong toàn bộ ứng dụng của  ta  để  chạy  WebView từ mọi nơi.
Tạo một dự án Flutter mới
Như mọi khi, ta sẽ bắt đầu bằng cách cài đặt một dự án mới và thêm plugin:
# New Flutter project $ flutter create my_webview_project  # Open this up inside of VS Code $ cd my_webview_project && code . Thêm plugin WebView
 Tiếp theo,  ta   cần  thêm plugin webview_flutter trong pubspec.yaml của  ta :
dependencies:   flutter:     sdk: flutter   webview_flutter: ^0.3.14+1 Sau đó,  ta   cần  thêm các giá trị thích hợp vào Info.plist , chọn tham gia bản xem trước các chế độ xem được nhúng:
<key>io.flutter.embedded_views_preview</key> <true/> Đó là tất cả sự chuẩn bị plugin cần thiết, bây giờ ta có thể mở ứng dụng của bạn trong trình mô phỏng iOS hoặc Android.
Giàn giáo Dự án của ta
 Bây giờ  ta  có thể cập nhật main.dart để chứa tiện ích HomePage của  ta  mà  ta  sẽ tạo sau một giây:
import 'package:flutter/material.dart'; import 'package:my_webview_project/home_page.dart';  void main() => runApp(MyApp());  class MyApp extends StatelessWidget {   @override   Widget build(BuildContext context) {     return MaterialApp(         title: 'Flutter WebView',         theme: ThemeData(           primarySwatch: Colors.blue,         ),         home: HomePage());   } } Tiện ích con HomePage sẽ chỉ bao gồm một FlatButton với một sự kiện onPressed :
import 'package:flutter/material.dart';  class HomePage extends StatelessWidget {   @override   Widget build(BuildContext context) {     return Scaffold(       appBar: AppBar(         title: Text("Home Page"),       ),       body: Center(         child: FlatButton(           child: Text("Open Webpage"),           onPressed: () {},         ),       ),     );   } }  Sử dụng Plugin WebView
 Hãy tạo một StatelessWidget có tên MyWebView mà  ta  có thể sử dụng để  chuyển   user  đến trang này  khi  nào  ta  muốn hiển thị dữ liệu WebView :
import 'dart:async'; import 'package:flutter/material.dart';  import 'package:webview_flutter/webview_flutter.dart';  class MyWebView extends StatelessWidget {   final String title;   final String selectedUrl;    final Completer<WebViewController> _controller =       Completer<WebViewController>();    MyWebView({     @required this.title,     @required this.selectedUrl,   });    @override   Widget build(BuildContext context) {     return Scaffold(         appBar: AppBar(           title: Text(title),         ),         body: WebView(           initialUrl: selectedUrl,           javascriptMode: JavascriptMode.unrestricted,           onWebViewCreated: (WebViewController webViewController) {             _controller.complete(webViewController);           },         ));   } } Nếu  ta  muốn  chuyển   user  đến https://alligator.io , do đó  ta  có thể sử dụng Navigator.push với Navigator.push selectedUrl bằng https://alligator.io . Hãy cập nhật FlatButton của  ta  trong HomePage :
child: FlatButton(   child: Text("Open Webpage"),   onPressed: () {     Navigator.of(context).push(MaterialPageRoute(         builder: (BuildContext context) => MyWebView(               title: "Alligator.io",               selectedUrl: "https://alligator.io",             )));   }, ), Và  ta  đã có nó! Đây là WebView của  ta  hiển thị trang chủ Alligator: 
Các tin liên quan

