import 'package:flutter/material.dart'; import 'package:flutter_easyrefresh/easy_refresh.dart'; import 'package:project_telephony/base/base_style.dart'; import 'package:project_telephony/ui/widget/plone_back_button.dart'; import 'package:project_telephony/utils/headers.dart'; import 'package:tab_indicator_styler/tab_indicator_styler.dart'; import 'answer_idle.dart'; class ContentConnectPage extends StatefulWidget { const ContentConnectPage({Key? key}) : super(key: key); @override _ContentConnectPageState createState() => _ContentConnectPageState(); } class _ContentConnectPageState extends State with AutomaticKeepAliveClientMixin, SingleTickerProviderStateMixin { late TabController _tabController; final EasyRefreshController _answerRefreshController = EasyRefreshController(); final EasyRefreshController _wasAnswerRefreshController = EasyRefreshController(); int state=1; @override void initState() { _tabController = TabController(length: 2, initialIndex: 0, vsync: this); super.initState(); } @override void dispose() { _tabController.dispose(); _answerRefreshController.dispose(); _wasAnswerRefreshController.dispose(); super.dispose(); } @override Widget build(BuildContext context) { super.build(context); return Scaffold( appBar: AppBar( elevation: 0, title: Text( '选择短信内容', style: Theme.of(context).textTheme.headline6, ), leading: const CloudBackButton(isSpecial: true), backgroundColor: kForeGroundColor, ), backgroundColor: Colors.white, body: Column( children: [ Container( width:double.infinity, height: 88.w, margin: EdgeInsets.symmetric(horizontal: 66.w), padding: EdgeInsets.all(8.w), decoration:BoxDecoration(color: const Color(0xFFF9F9F9),borderRadius: BorderRadius.all(Radius.circular(44.w))), child: TabBar( // indicator: Decoration(), controller: _tabController, labelColor:const Color(0xFF1890FF), unselectedLabelColor:const Color(0xFF999999), unselectedLabelStyle:const TextStyle(fontWeight:FontWeight.bold), labelStyle:const TextStyle(fontWeight:FontWeight.bold), onTap: (num) { if(num==0){ state=1; _answerRefreshController.callRefresh(); }else{ state=3; _wasAnswerRefreshController.callRefresh(); } }, indicator: RectangularIndicator( color: Colors.white, bottomLeftRadius: 44.w, bottomRightRadius: 44.w, topLeftRadius: 44.w, topRightRadius: 44.w, // paintingStyle: PaintingStyle.fill, ), // indicatorSize: TabBarIndicatorSize.label, // isScrollable: true, tabs: const [ // _tab(0, "被叫接听"),_tab(1, "主叫接听"), Tab(text: "被叫接听",),Tab(text: "主叫接听",) ]), ), Expanded( child: TabBarView(controller: _tabController, children: [ // _getBox(), AnswerIdleList( // contant: const [], num: state, refreshController: _answerRefreshController, isIdle: false, ), AnswerIdleList( // contant: const [], num: state, refreshController: _wasAnswerRefreshController, isIdle: true, ) ])) ], )); } @override bool get wantKeepAlive => true; }