main.dart 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. import 'package:flutter/material.dart';
  2. import 'package:vid_player_demo/pages/both_player/page.dart';
  3. import 'package:vid_player_demo/pages/image_test/page.dart';
  4. import 'package:vid_player_demo/pages/scene_player/page.dart';
  5. import 'package:vid_player_demo/pages/single_image.dart/view.dart';
  6. import 'package:vid_player_demo/widgets/image_cache.dart';
  7. import 'pages/canvas_player/page.dart';
  8. import 'pages/image_player/page.dart';
  9. import 'pages/multi_canvas_player/page.dart';
  10. import 'pages/multi_image_player/page.dart';
  11. import 'pages/color_filter/page.dart';
  12. void main() {
  13. runApp(const MyApp());
  14. }
  15. class MyApp extends StatelessWidget {
  16. const MyApp({Key? key}) : super(key: key);
  17. @override
  18. Widget build(BuildContext context) {
  19. return MaterialApp(
  20. title: 'Flutter Demo',
  21. theme: ThemeData(
  22. primarySwatch: Colors.blue,
  23. ),
  24. routes: <String, WidgetBuilder>{
  25. '/': (BuildContext context) =>
  26. const MyHomePage(title: 'Vid Player Demo Home Page'),
  27. '/single_image': (BuildContext context) => const SingleImageView(),
  28. '/image_player': (BuildContext context) => const ImagePlayerPage(),
  29. '/canvas_player': (BuildContext context) => const CanvasPlayerPage(),
  30. '/both_player': (BuildContext context) => BothPlayerPage(),
  31. '/multi_image_player': (BuildContext context) =>
  32. const MultiImagePlayerPage(),
  33. '/multi_canvas_player': (BuildContext context) =>
  34. const MultiCanvasPlayerPage(),
  35. '/scene_player': (BuildContext context) => ScenePlayerPage(),
  36. '/image_test': (BuildContext context) => const ImageTestPage(),
  37. '/color_filter': (BuildContext context) => const ColorFilterPage(),
  38. },
  39. debugShowCheckedModeBanner: false,
  40. );
  41. }
  42. }
  43. class MyHomePage extends StatefulWidget {
  44. const MyHomePage({Key? key, required this.title}) : super(key: key);
  45. final String title;
  46. @override
  47. State<MyHomePage> createState() => _MyHomePageState();
  48. }
  49. class _MyHomePageState extends State<MyHomePage> {
  50. @override
  51. Widget build(BuildContext context) {
  52. return Scaffold(
  53. appBar: AppBar(
  54. title: Text(widget.title),
  55. ),
  56. body: Center(
  57. child: Column(
  58. mainAxisAlignment: MainAxisAlignment.start,
  59. children: <Widget>[
  60. const ShowImageCache(),
  61. const SizedBox(height: 24),
  62. ElevatedButton(
  63. child: const Text('Single Image'),
  64. onPressed: () => Navigator.pushNamed(context, '/single_image'),
  65. ),
  66. const SizedBox(height: 8),
  67. ElevatedButton(
  68. onPressed: () => Navigator.pushNamed(context, '/image_player'),
  69. child: const Text('Image Player')),
  70. const SizedBox(height: 8),
  71. ElevatedButton(
  72. onPressed: () => Navigator.pushNamed(context, '/canvas_player'),
  73. child: const Text('Canvas Player')),
  74. const SizedBox(height: 8),
  75. ElevatedButton(
  76. onPressed: () => Navigator.pushNamed(context, '/both_player'),
  77. child: const Text('Both Player')),
  78. const SizedBox(height: 8),
  79. ElevatedButton(
  80. onPressed: () =>
  81. Navigator.pushNamed(context, '/multi_image_player'),
  82. child: const Text('Multi Image Player')),
  83. const SizedBox(height: 8),
  84. ElevatedButton(
  85. onPressed: () =>
  86. Navigator.pushNamed(context, '/multi_canvas_player'),
  87. child: const Text('Multi Canvas Player')),
  88. const SizedBox(height: 8),
  89. ElevatedButton(
  90. onPressed: () => Navigator.pushNamed(context, '/scene_player'),
  91. child: const Text('Scene Player')),
  92. const SizedBox(height: 8),
  93. ElevatedButton(
  94. onPressed: () => Navigator.pushNamed(context, '/image_test'),
  95. child: const Text('Image Test')),
  96. const SizedBox(height: 8),
  97. ElevatedButton(
  98. onPressed: () => Navigator.pushNamed(context, '/color_filter'),
  99. child: const Text('Color Filter')),
  100. const SizedBox(height: 24),
  101. ],
  102. ),
  103. ),
  104. );
  105. }
  106. }