buildWidget method
build your widget here
Implementation
@override
Widget buildWidget(BuildContext context) {
if (widget.controller.uri == '') {
return const Text("");
}
Set<Factory<OneSequenceGestureRecognizer>> gestureRecognizers = {
Factory(() => EagerGestureRecognizer())
};
if (_webViewController == null) {
_webViewController = WebViewController();
_webViewController
?..setBackgroundColor(Colors.transparent)
..setJavaScriptMode(JavaScriptMode.unrestricted)
..addJavaScriptChannel('messageHandler',
onMessageReceived: _handleTabaPayMessage)
..setNavigationDelegate(
NavigationDelegate(onPageFinished: (String url) {
_webViewController?.runJavaScript(
'window.addEventListener("message", (event) => messageHandler.postMessage(event.data))');
}));
_webViewController?.loadRequest(Uri.parse(widget.controller.uri));
}
double height = MediaQuery.of(context).size.height;
var padding = MediaQuery.of(context).viewPadding;
double safeHeight = height - padding.top - padding.bottom;
return SizedBox(
width: widget.controller.width,
height: widget.controller.height ?? safeHeight,
child: WebViewWidget(
controller: _webViewController!,
gestureRecognizers: gestureRecognizers));
}