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/home/calling_idle_list.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'; 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(); @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( 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) { _answerRefreshController.callRefresh(); } else { _wasAnswerRefreshController.callRefresh(); } }, indicator: RectangularIndicator( color: Colors.white, bottomLeftRadius: 44.w, bottomRightRadius: 44.w, topLeftRadius: 44.w, topRightRadius: 44.w, // paintingStyle: PaintingStyle.fill, ), tabs: const [ Tab( text: "被叫接听", ), Tab( text: "主叫接听", ), ], ), ), Expanded( child: TabBarView( controller: _tabController, children: [ CallingIdleList( refreshController: _answerRefreshController, title: '朋友给你来电接听后所发送的短信', status: 1, themeColor: const Color(0xFF1890FF), ), CallingIdleList( refreshController: _answerRefreshController, isIdle: true, title: '您给朋友去电接听后所发送的短信', status: 3, themeColor: const Color(0xFF1890FF), ), ], ), ), ], ), ); } @override bool get wantKeepAlive => true; }