import 'package:fengshui_compass/components/my_icon.dart'; import 'package:fengshui_compass/pages/personal_page.dart'; import 'package:fengshui_compass/utils/sp_utils.dart'; import 'package:flutter/material.dart'; import 'package:fengshui_compass/pages/birthcal_page.dart'; import 'package:fengshui_compass/pages/compass_page.dart'; import 'package:flutter/services.dart'; class BottomNavigationWidget extends StatefulWidget { const BottomNavigationWidget({Key key}) : super(key: key); @override State createState() => _MyHomePageState(); } class _MyHomePageState extends State { int currentIndex = 0; List list = []; @override Future initState() { list ..add(const CompassPage()) ..add(BirthCalPage()) ..add(const PersonalPage()); super.initState(); // Future.delayed(Duration.zero, () { initSP(); }); SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: []); } void initSP() async { await SPUtil.init(); } void _onItemTapped(int index) { setState(() { currentIndex = index; }); } @override Widget build(BuildContext context) { return Scaffold( backgroundColor: Colors.transparent, extendBody: true, body: list[currentIndex], bottomNavigationBar: ClipRRect( borderRadius: const BorderRadius.only( topLeft: Radius.circular(24.0), topRight: Radius.circular(24.0), ), child: BottomNavigationBar( type: BottomNavigationBarType.fixed, currentIndex: currentIndex, selectedItemColor: const Color.fromRGBO(237, 173, 89, 1.0), // 抽出单独定义 onTap: _onItemTapped, items: const [ BottomNavigationBarItem( icon: Icon(MyIcons.icon_luopan, size: 30), label: '在线罗盘', ), BottomNavigationBarItem( icon: Icon(MyIcons.icon_zaixianqiju_, size: 30), label: '在线起局', ), BottomNavigationBarItem( icon: Icon(Icons.person, size: 30), label: '我的', ), ], ), ), ); } }