| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- 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<String> tabBarList =
- <String>[
- 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),
- );
- }
- }
|