main_controller.dart 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import 'package:flutter/cupertino.dart';
  2. import 'package:flutter/services.dart';
  3. import 'package:get/get.dart';
  4. import 'package:injectable/injectable.dart';
  5. import '../../base/base_controller.dart';
  6. import '../../resource/assets.gen.dart';
  7. import '../../resource/string.gen.dart';
  8. import '../character/character_view.dart';
  9. import '../keyboard/keyboard_view.dart';
  10. import '../mine/mine_view.dart';
  11. @injectable
  12. class MainController extends BaseController {
  13. final _currentIndex = 0.obs;
  14. int get currentIndex => _currentIndex.value;
  15. final List<TabBean> tabBeans = [
  16. TabBean(
  17. StringName.mainTabKeyboard,
  18. Assets.images.iconTabKeyboardUnselect.path,
  19. Assets.anim.animTabKeyboardSelectedData,
  20. KeyBoardView(),
  21. ),
  22. TabBean(
  23. StringName.mainTabCharacter,
  24. Assets.images.iconTabCharacterUnselect.path,
  25. Assets.anim.animTabCharacterSelectedData,
  26. CharacterView(),
  27. ),
  28. TabBean(
  29. StringName.mainTabMine,
  30. Assets.images.iconTabMineUnselect.path,
  31. Assets.anim.animTabMineSelectedData,
  32. MineView(),
  33. ),
  34. ];
  35. void changeIndex(int index) {
  36. if (_currentIndex.value != index) {
  37. _currentIndex.value = index;
  38. }
  39. }
  40. @override
  41. void onInit() {
  42. super.onInit();
  43. }
  44. }
  45. class TabBean {
  46. final String title;
  47. final String normalIcon;
  48. final String selectedIcon;
  49. final Widget page;
  50. const TabBean(this.title, this.normalIcon, this.selectedIcon, this.page);
  51. }