view.dart 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import 'dart:async';
  2. import 'package:electronic_assistant/base/base_page.dart';
  3. import 'package:electronic_assistant/dialog/alert_dialog.dart';
  4. import 'package:electronic_assistant/resource/assets.gen.dart';
  5. import 'package:flutter/material.dart';
  6. import 'package:flutter_screenutil/flutter_screenutil.dart';
  7. import 'package:get/get.dart';
  8. import '../../router/app_pages.dart';
  9. class SplashPage extends BasePage {
  10. const SplashPage({super.key});
  11. final splashDelayedTime = 2;
  12. @override
  13. Widget buildBody(BuildContext context) {
  14. Timer(Duration(seconds: splashDelayedTime), () {
  15. Get.offNamed(RoutePath.mainTab);
  16. });
  17. return _buildSplash();
  18. }
  19. _buildSplash() {
  20. return Stack(
  21. alignment: AlignmentDirectional.topCenter,
  22. children: [
  23. AspectRatio(
  24. aspectRatio: 1080 / 1938,
  25. child: SizedBox(width: 1.sw, child: Assets.images.bgSplash.image()),
  26. ),
  27. Container(
  28. margin: EdgeInsets.only(top: 222.h),
  29. width: 221.w,
  30. child: Assets.images.iconSplashTitle.image()),
  31. Align(
  32. alignment: Alignment.bottomCenter,
  33. child: Container(
  34. margin: EdgeInsets.only(bottom: 33.h),
  35. width: 102.w,
  36. child: Assets.images.iconSplashLogo.image()),
  37. )
  38. ],
  39. );
  40. }
  41. @override
  42. bool immersive() {
  43. return true;
  44. }
  45. }