Flutter基础(前端教程①①-底部导航栏)

1. 主页面(BottomNavBarPage)
  • 用 _currentBarIndex 记录当前选中的导航索引(默认 0,即首页)。
  • 用 IndexedStack 管理 4 个页面,通过 _currentBarIndex 控制显示哪个页面(比如索引 1 就显示 NodePage)。
  • 底部导航栏用 CustomNavigationBar 组件,传递当前索引和点击回调。
2. 底部导航栏(CustomNavigationBar)
  • 定义了 4 个导航项(NavItem),每个包含标题、图标、是否选中(isHighlighted)。
  • 通过 Row 横向排列 4 个导航项,每个占满屏幕宽度的 1/4(Expanded 组件实现)。
  • 点击导航项时,触发 onTap 回调,更新 _currentBarIndex 切换页面。
3. 导航项样式(选中 / 未选中)
  • 未选中状态 (_buildIconContainer):灰色图标,无背景。
  • 选中状态 (_buildHighlightedIconContainer):白色图标,带渐变绿色椭圆形背景(有边框),文字也变为亮绿色。
  • 通过 isHighlighted 判断状态,动态切换样式。
相关推荐
行者-全栈开发5 小时前
Flutter 插件 device_calendar_plus 开源鸿蒙适配实战:从权限弹窗失灵到循环日程跑通
flutter·跨平台·harmonyos·arkts·日历·适配·开源鸿蒙
恋猫de小郭6 小时前
Flutter 开始支持 Jetpack Compose Platform View
android·前端·flutter
SoaringHeart17 小时前
Flutter 查缺补漏:@JsonKey 属性全解,让模型层不再被后端字段牵着走
flutter
恋猫de小郭1 天前
Flutter 可以更直接地调用原生 API 了,Dart Direct Native Interop
android·前端·flutter
码点1 天前
二.Flutter 速成第二课:核心概念与第一个自定义页面
flutter
好的佩奇2 天前
蓝牙之通信架构
android·flutter·蓝牙
yujunlong39192 天前
[特殊字符] Serverpod 4.1.0 全栈项目开发与 Docker 部署规范文档
flutter·docker·serverpod
FungLeo2 天前
成为全栈·Go 后端篇·换后端不改前端:四个客户端如何做兼容回归
flutter·golang·go·成为全栈·兼容测试·taro 小程序
恋猫de小郭2 天前
Flutter Android 性能修复:8 个大核的手机,Raster 居然只跑在 2 个核上?
android·flutter
恋猫de小郭3 天前
感人,Flutter 居然有了一个超实用提案,期待落地
android·前端·flutter