import 'package:dating_touchme_app/components/home_appbar.dart'; import 'package:dating_touchme_app/controller/discover/room_controller.dart'; import 'package:dating_touchme_app/generated/assets.dart'; import 'package:dating_touchme_app/pages/discover/dating_page.dart'; import 'package:dating_touchme_app/pages/discover/party_page.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; class DiscoverPage extends StatefulWidget { const DiscoverPage({super.key}); @override State createState() => _DiscoverPageState(); } class _DiscoverPageState extends State with AutomaticKeepAliveClientMixin { late final RoomController roomController; late final PageController _pageController; List topNav = ["相亲", "聚会脱单"]; int active = 0; void changeNav(int active) { setState(() { this.active = active; _pageController.jumpToPage(active); }); } @override void initState() { super.initState(); if (Get.isRegistered()) { roomController = Get.find(); } else { roomController = Get.put(RoomController()); } _pageController = PageController(initialPage: 0); } @override void dispose() { _pageController.dispose(); super.dispose(); } @override Widget build(BuildContext context) { super.build(context); return Stack( children: [ Image.asset( Assets.imagesBgInformation, fit: BoxFit.cover, width: double.infinity, height: double.infinity, ), Container( padding: EdgeInsets.symmetric(horizontal: 12.w), // constraints: BoxConstraints(minHeight: ScreenUtil().setHeight(800)), child: Column( children: [ HomeAppbar( topNav: topNav, changeNav: changeNav, activeIndex: active, right: InkWell( onTap: () async { await roomController.createRtcChannel(); }, child: Container( width: 52.w, height: 20.w, decoration: BoxDecoration( borderRadius: BorderRadius.all(Radius.circular(20.w)), color: const Color.fromRGBO(108, 105, 244, 1), ), child: Center( child: Text( "申请红娘", style: TextStyle( fontSize: 10.w, color: Colors.white, fontWeight: FontWeight.w500, ), ), ), ), ), ), Expanded( child: PageView( controller: _pageController, physics: const NeverScrollableScrollPhysics(), onPageChanged: (index) { setState(() { active = index; }); }, children: const [ DatingPage(), PartyPage(), ], ), ), ], ), ), ], ); } @override bool get wantKeepAlive => true; }