flutter底部导航TabBar

import 'package:flutter/material.dart';
import '../../../../static/colors.dart';
import './tabs/home.dart';
import 'tabs/homeG.dart';
import 'tabs/jobFair.dart';
import 'tabs/clockIn.dart';
import 'tabs/message.dart';
import './tabs/user.dart';

class Tabs extends StatefulWidget {
  const Tabs({super.key});

  @override
  State<Tabs> createState() => _TabsState();
}

class _TabsState extends State<Tabs> {
  int _currentIndex = homeG.tabsCurrentIndex ?? 0;
  final List<Widget> _pages = const [
    HomePage(),
    JobFairPage(),
    ClockInPage(),
    MessagePage(),
    UserPage()
  ];
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: _pages[_currentIndex],
      bottomNavigationBar: BottomNavigationBar(
          // fixedColor: Colors.red, //选中的颜色
          fixedColor: AppColors.firstdaryColor,
          // iconSize: 24, //底部菜单大小
          currentIndex: _currentIndex, //第几个菜单选中
          type: BottomNavigationBarType.fixed, //如果底部有4个或者4个以上的菜单的时候就需要        配置这个参数
          onTap: (index) {
            //点击菜单触发的方法
            //注意
            setState(() {
              _currentIndex = index;
            });
          },
          items: const [
            BottomNavigationBarItem(icon: Icon(Icons.home), label: "一页"),
            BottomNavigationBarItem(icon: Icon(Icons.category), label: "二页"),
            BottomNavigationBarItem(icon: Icon(Icons.settings), label: "三页"),
            BottomNavigationBarItem(icon: Icon(Icons.message), label: "四页"),
            BottomNavigationBarItem(icon: Icon(Icons.people), label: "五页")
          ]),
//底部中间大图标可用解开底下的代码查看样式
      // floatingActionButton: Container(
      //   height: 60, //调整FloatingActionButton的大小
      //   width: 60,
      //   padding: const EdgeInsets.all(5),
      //   margin: const EdgeInsets.only(top: 5), //调整FloatingActionButton的位置
      //   decoration: BoxDecoration(
      //     color: Colors.white,
      //     borderRadius: BorderRadius.circular(30),
      //   ),
      //   child: FloatingActionButton(
      //       backgroundColor: _currentIndex == 2 ? Colors.red : Colors.blue,
      //       child: const Icon(Icons.add),
      //       onPressed: () {
      //         setState(() {
      //           _currentIndex = 2;
      //         });
      //       }),
      // ),
      // floatingActionButtonLocation:
      //     FloatingActionButtonLocation.centerDocked, //配置浮动按钮的位置
    );
  }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值