web.dart 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import 'dart:io';
  2. import 'package:fast/constants.dart';
  3. import 'package:fast/view/component/navi_bar.dart';
  4. import 'package:flutter/material.dart';
  5. import 'package:get/get.dart';
  6. import 'package:webview_flutter/webview_flutter.dart';
  7. // ignore: must_be_immutable
  8. class Web extends StatefulWidget {
  9. String title,url;
  10. Web({ Key? key,required this.title,required this.url }) : super(key: key);
  11. @override
  12. State<Web> createState() => _WebState();
  13. }
  14. class _WebState extends State<Web> {
  15. @override
  16. void initState() {
  17. if (Platform.isAndroid) {
  18. WebView.platform = SurfaceAndroidWebView();
  19. }
  20. super.initState();
  21. }
  22. @override
  23. Widget build(BuildContext context) {
  24. EdgeInsets safePadding = MediaQuery.of(context).padding;
  25. return Material(
  26. child: Container(
  27. padding:
  28. EdgeInsets.only(top: 0, bottom: safePadding.bottom),
  29. color: kBgColor,
  30. child: Column(
  31. crossAxisAlignment: CrossAxisAlignment.start,
  32. children: [
  33. NaviBar(
  34. title: widget.title,
  35. closeCallback: () {
  36. Get.back();
  37. }),
  38. Expanded(child: WebView(
  39. initialUrl: widget.url,
  40. javascriptMode: JavascriptMode.unrestricted
  41. ))
  42. ]
  43. )
  44. )
  45. );
  46. }
  47. }