import 'package:flutter/material.dart'; import 'package:qhd_prevention/pages/my_appbar.dart'; import 'package:webview_flutter/webview_flutter.dart'; class WebViewPage extends StatefulWidget { final String url; final String name; const WebViewPage({Key? key, required this.url, required this.name,}) : super(key: key); @override State createState() => _WebViewPageState(name); } class _WebViewPageState extends State { late final WebViewController _controller; final String name; ValueNotifier loadingProgress = ValueNotifier(0.0); ValueNotifier isLoading = ValueNotifier(true); _WebViewPageState(this.name); @override void initState() { super.initState(); _controller = WebViewController() ..setJavaScriptMode(JavaScriptMode.unrestricted) ..setNavigationDelegate(NavigationDelegate( onProgress: (progress) { loadingProgress.value = progress / 100; if (progress == 100) isLoading.value = false; }, onPageStarted: (url) => isLoading.value = true, onPageFinished: (url) => isLoading.value = false, )) ..loadRequest(Uri.parse(widget.url)); } @override Widget build(BuildContext context) { return Column( children: [ MyAppbar(title: name), Expanded( child: WebViewWidget(controller: _controller),), // ValueListenableBuilder( // valueListenable: isLoading, // builder: (context, loading, _) { // return loading // ? const Center(child: CircularProgressIndicator()) // : const SizedBox(); // }, // ), ], ); } }