import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:injectable/injectable.dart'; import 'package:keyboard/base/base_controller.dart'; import 'package:keyboard/resource/string.gen.dart'; /// 亲密度分析Controller @injectable class IntimacyAnalyseController extends BaseController with GetTickerProviderStateMixin { /// Tab列表 RxList tabBarList = [ StringName.intimacyAnalyseTabReport, StringName.intimacyAnalyseTabScreenshotReply, ].obs; /// Tab控制器 late final TabController tabController = TabController( length: tabBarList.length, vsync: this, ); /// PageView控制器 final PageController pageController = PageController(); /// 返回上一页 void clickBack() { Get.back(); } @override void onInit() { super.onInit(); } @override void onClose() { tabController.dispose(); pageController.dispose(); super.onClose(); } /// 处理Tab切换,联动PageView void handleTabChange(int index) { if (!tabController.indexIsChanging) { pageController.animateToPage( index, duration: const Duration(milliseconds: 300), curve: Curves.easeInToLinear, ); } } /// 处理PageView切换,联动Tab void handlePageChange(int index) { tabController.animateTo( index, duration: const Duration(milliseconds: 300), ); } }