import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'controller.dart'; import 'package:webview_flutter/webview_flutter.dart'; class WebviewPage extends StatefulWidget { const WebviewPage({super.key}); @override State createState() => _WebviewPageState(); } class _WebviewPageState extends State { final WebviewController _webviewController = Get.put(WebviewController()); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( centerTitle: false, title: Text( _webviewController.pageTitle, style: Theme.of(context).textTheme.titleMedium, ), actions: [ IconButton( onPressed: () { _webviewController.controller.reload(); }, icon: const Icon( Icons.refresh, size: 22, ), ), const SizedBox(width: 10) ], ), body: Column( children: [ Obx( () => AnimatedContainer( curve: Curves.easeInOut, duration: const Duration(milliseconds: 350), height: _webviewController.loadShow.value ? 4 : 0, child: LinearProgressIndicator( key: ValueKey(_webviewController.loadProgress), value: _webviewController.loadProgress / 100, ), ), ), Expanded( child: WebViewWidget(controller: _webviewController.controller), ), ], )); } }