| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import 'package:abroad_location/base/base_controller.dart';
- import 'package:abroad_location/module/location/location_view.dart';
- import 'package:abroad_location/module/urgent/urgent_view.dart';
- import 'package:abroad_location/resource/assets.gen.dart';
- import 'package:flutter/cupertino.dart';
- import 'package:get/get.dart';
- import 'package:injectable/injectable.dart';
- import '../friend/friend_view.dart';
- @injectable
- class MainController extends BaseController {
- List<TabData> tabData = [
- TabData(Assets.images.iconMainTabLocationSelected.provider(),
- Assets.images.iconMainTabLocationUnselect.provider(), LocationView()),
- TabData(Assets.images.iconMainTabFriendSelected.provider(),
- Assets.images.iconMainTabFriendUnselect.provider(), FriendView()),
- TabData(Assets.images.iconMainTabUrgentSelected.provider(),
- Assets.images.iconMianTabUrgentUnselect.provider(), UrgentView()),
- ];
- final RxInt _currentIndex = 0.obs;
- int get currentIndex => _currentIndex.value;
- @override
- onReady() {
- precacheTabIcon();
- }
- onTabClick(int index) {
- _currentIndex.value = index;
- }
- void precacheTabIcon() {
- for (var tab in tabData) {
- precacheImage(tab.selectIcon, Get.context!);
- precacheImage(tab.unSelectIcon, Get.context!);
- }
- }
- }
- class TabData {
- ImageProvider selectIcon;
- ImageProvider unSelectIcon;
- Widget page;
- TabData(this.selectIcon, this.unSelectIcon, this.page);
- }
|