ToneSnap_FSX_Flutter/lib/modules/sideb/initial/initial_controller.dart
fengshengxiong c7cbdb04be 个人曲库
2024-07-14 16:13:46 +08:00

43 lines
1.3 KiB
Dart

import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:tone_snap/generated/assets.dart';
import 'package:tone_snap/modules/sideb/home/home_view.dart';
import 'package:tone_snap/modules/sideb/personal_music_library/personal_music_library_view.dart';
import 'package:tone_snap/modules/sideb/search_music/search_music_view.dart';
class InitialController extends GetxController {
static InitialController get to => Get.find<InitialController>();
late PageController pageController;
final pages = [
PageItem([Assets.sideBBnb1Unselected, Assets.sideBBnb1Selected], const HomeView()),
PageItem([Assets.sideBBnb2Unselected, Assets.sideBBnb2Selected], const SearchMusicView()),
PageItem([Assets.sideBBnb3Unselected, Assets.sideBBnb3Selected], const PersonalMusicLibraryView()),
];
var currentIndex = 0.obs;
@override
void onInit() {
super.onInit();
pageController = PageController(initialPage: currentIndex.value);
}
@override
void onClose() {
pageController.dispose();
super.onClose();
}
Future<void> onBottomAppBarItemChanged(int index) async {
currentIndex.value = index;
pageController.jumpToPage(index);
}
}
class PageItem {
late final List<String> icons;
late final StatelessWidget widget;
PageItem(this.icons, this.widget);
}