问题描述

在使用appbar的时候不想添加上面的title,leading和actions,只想保留下面的bottom,Appbar结构如下
在这里插入图片描述
原导航栏代码:

DefaultTabController(
      //导航栏的长度
      length: 3,
      child: Scaffold(
        appBar: AppBar(
          title: null,
          backgroundColor: Colors.red,
          centerTitle: true,
          //toolbarHeight: 56, //主要修改此参数,调整为bottom高度即可

          bottom: TabBar(
            indicatorColor: Colors.white70, //指示器的颜色
            labelColor: Colors.white, //选中文字颜色
            unselectedLabelColor: Colors.white60, //未选中文字颜色
            tabs: <Widget>[
              Tab(text: "时间"),
              Tab(text: "计划"),
              Tab(text: "待办"),
            ],
          ),
        ),
        body: TabBarView(
          children: <Widget>[
            _Planlist(),//第一个tab  body实现内容
            ListView(
              children: <Widget>[
                ListTile(
                  title: Text("第二个tab"),
                )
              ],
            ),
            ListView(
              children: <Widget>[
                ListTile(
                  title: Text("第三个tab"),
                )
              ],
            ),
          ],
        ),
      ),
    );

原效果:
在这里插入图片描述
修改核心:
可限制toolbar高度,内部描述preferredSize会将此高度作为appbar整体高度
toolbarHeight: 56
修改如下:

	AppBar(
          title: null,
          backgroundColor: Colors.red,
          centerTitle: true,
          toolbarHeight: 56,//主要添加此参数进行限制
          bottom: TabBar(
            // isScrollable: true, //可滚动
            indicatorColor: Colors.white70, //指示器的颜色
            labelColor: Colors.white, //选中文字颜色
            unselectedLabelColor: Colors.white60, //未选中文字颜色
            // indicatorSize: TabBarIndicatorSize.label, //指示器与文字等宽
            tabs: <Widget>[
              Tab(text: "时间"),
              Tab(text: "计划"),
              Tab(text: "待办"),
            ],
          ),
        ),

修改后效果
在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐