Flutter 顶部导航标签组件Tab + TabBar + TabController

Tab定义标题

TabBarView定义内容区域

TabController 控制切换

TabBar

属性 说明
isScrollable tab是否可滑动
indicatorColor 指示器的颜色
indicatorWeight 指示器的高度
labelColor 选中tab的颜色
unselectedLabelColor 选中tab的颜色
dart 复制代码
class MyState extends State {
  @override
  Widget build(BuildContext context) {
    TabBar tabBar = TabBar(
      unselectedLabelColor: Colors.cyan,
      labelColor: Colors.green ,
      indicatorColor: Colors.blue,
      indicatorWeight: 10,
      isScrollable: true,
      tabs: [
        Tab(icon: Icon(Icons.account_circle), text: "首页"),
        Tab(icon: Icon(Icons.account_circle), text: "视频"),
        Tab(icon: Icon(Icons.account_circle), text: "消息"),
        Tab(icon: Icon(Icons.account_circle), text: "购物"),
        Tab(icon: Icon(Icons.account_circle), text: "我的"),
      ],
    );

    TabBarView tabBarView = TabBarView(
      children: [
        Center(child: Text("首页")),
        Center(child: Text("视频")),
        Center(child: Text("消息")),
        Center(child: Text("购物")),
        Center(child: Text("我的")),
      ],
    );

    return DefaultTabController(
      length: 5,
      child: Scaffold(
        appBar: AppBar(title: Text("购物"), bottom: tabBar),
        body: tabBarView,
      ),
    );
  }
}
相关推荐
峰哥的Android进阶之路23 分钟前
Android的binder机制理解
android·binder
弥巷23 分钟前
【Android】Android内存缓存LruCache与DiskLruCache的使用及实现原理
android·java
fool_hungry2 小时前
Android MotionEvent ACTION_OUTSIDE 详细解释
android
下位子2 小时前
『OpenGL学习滤镜相机』- Day8: 多重纹理与混合
android·opengl
TeleostNaCl2 小时前
解决在 Android 使用 hierynomus/smbj 库时上传和下载文件较慢的问题
android·经验分享
峰哥的Android进阶之路2 小时前
handler机制原理面试总结
android·面试
雨白3 小时前
让代码更清晰:Android 中的 MVC、MVP 与 MVVM
android·mvc·mvvm
魑魅魍魉都是鬼3 小时前
不练不熟,不写就忘 之 compose 之 动画之 animateSizeAsState动画练习
android·compose
一只柠檬新3 小时前
当AI开始读源码,调Bug这件事彻底变了
android·人工智能·ai编程
正经教主3 小时前
【App开发】手机投屏的几种方式(含QtScrcpy)- Android 开发新人指南
android·智能手机