You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.3 KiB

2 years ago
2 years ago
  1. import 'dart:async';
  2. import 'package:flutter/material.dart';
  3. import 'package:flutter_bloc/flutter_bloc.dart';
  4. import 'package:my_flutter_puzzle/screens/level_list/cubit/level_list_cubit.dart';
  5. import 'package:my_flutter_puzzle/screens/level_list/screen/level_list_screen.dart';
  6. import 'package:my_flutter_puzzle/utils/extensions/string_extensions.dart';
  7. class SplashScreen extends StatefulWidget {
  8. const SplashScreen({Key? key}) : super(key: key);
  9. @override
  10. State<SplashScreen> createState() => _SplashScreenState();
  11. }
  12. class _SplashScreenState extends State<SplashScreen> {
  13. @override
  14. void initState() {
  15. Timer(const Duration(milliseconds: 2000), () {
  16. Navigator.push(context, MaterialPageRoute(
  17. builder: (context) {
  18. return BlocProvider(
  19. child: const LevelListScreen(),
  20. create: (context) => LevelListCubit(),
  21. );
  22. },
  23. ));
  24. });
  25. super.initState();
  26. }
  27. @override
  28. Widget build(BuildContext context) {
  29. return Scaffold(
  30. backgroundColor: const Color(0xff6236FF),
  31. body: Center(
  32. child: Container(
  33. decoration: BoxDecoration(
  34. image: DecorationImage(
  35. image: AssetImage('splash_screen_image'.pngPath),
  36. ),
  37. ),
  38. ),
  39. ),
  40. );
  41. }
  42. }