main.dart 3.6 KB

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