keyboard_tutorial_page.dart 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import 'package:flutter/material.dart';
  2. import 'package:get/get.dart';
  3. import 'package:keyboard/base/base_page.dart';
  4. import 'package:keyboard/router/app_pages.dart';
  5. import '../../router/app_page_arguments.dart';
  6. import '../../widget/platform_util.dart';
  7. import 'android/keyboard_tutorial_android_view.dart';
  8. import 'ios/keyboard_tutorial_ios_view.dart';
  9. import 'keyboard_tutorial_controller.dart';
  10. /// 键盘使用教程-引导页
  11. class KeyboardTutorialPage extends BasePage<KeyboardTutorialController> {
  12. const KeyboardTutorialPage({super.key});
  13. static start({required bool isCheckTutorialComplete}) {
  14. Map<String, dynamic> args = {
  15. AppPageArguments.isCheckTutorialComplete: isCheckTutorialComplete,
  16. };
  17. Get.toNamed(RoutePath.keyboardTutorial, arguments: args);
  18. }
  19. /// 跳转并关闭当前页
  20. static void startAndOffMe() {
  21. Get.offNamed(RoutePath.keyboardTutorial);
  22. }
  23. @override
  24. bool immersive() {
  25. // 开启沉浸式
  26. return true;
  27. }
  28. @override
  29. backgroundColor() {
  30. return Colors.transparent;
  31. }
  32. @override
  33. Widget buildBody(BuildContext context) {
  34. return Scaffold(backgroundColor: backgroundColor(), body: _buildContent());
  35. }
  36. /// 内容
  37. Widget _buildContent() {
  38. Widget content;
  39. if (PlatformUtil.isIOS) {
  40. content = const KeyboardTutorialIosView();
  41. } else {
  42. content = Obx(() {
  43. return KeyboardTutorialAndroidView(
  44. checkTutorialComplete: controller.checkTutorialComplete.value,
  45. );
  46. });
  47. }
  48. return content;
  49. }
  50. }