news_detail_page.dart 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import 'package:flutter/material.dart';
  2. import 'package:flutter/cupertino.dart';
  3. import 'package:webview_flutter/webview_flutter.dart';
  4. class NewsDetailPage extends StatefulWidget {
  5. String? id;
  6. NewsDetailPage({Key? key, this.id}) : super(key: key);
  7. @override
  8. State<StatefulWidget> createState() => NewsDetailPageState(id: this.id);
  9. }
  10. class NewsDetailPageState extends State<NewsDetailPage> {
  11. String? id;
  12. bool loaded = false;
  13. String? detailDataStr;
  14. NewsDetailPageState({Key? key, this.id});
  15. @override
  16. void initState() {
  17. super.initState();
  18. }
  19. @override
  20. Widget build(BuildContext context) {
  21. WebViewController webViewController = WebViewController()
  22. ..setUserAgent("Android OSC")
  23. ..setJavaScriptMode(JavaScriptMode.unrestricted)
  24. ..setBackgroundColor(const Color(0x00000000))
  25. ..setNavigationDelegate(
  26. NavigationDelegate(
  27. onProgress: (int progress) {
  28. // Update loading bar.
  29. },
  30. onPageStarted: (String url) {},
  31. onPageFinished: (String url) {},
  32. onWebResourceError: (WebResourceError error) {},
  33. ),
  34. )
  35. ..loadRequest(Uri.parse(widget.id!));
  36. List<Widget> titleContent = [];
  37. titleContent.add(Text(
  38. "资讯详情",
  39. style: TextStyle(color: Colors.white),
  40. ));
  41. if (!loaded) {
  42. titleContent.add(CupertinoActivityIndicator());
  43. }
  44. titleContent.add(Container(width: 50.0));
  45. return WebViewWidget(
  46. controller: webViewController,
  47. );
  48. }
  49. }