Flutter 自定义 Tabbar

效果示例

在这里插入图片描述
在这里插入图片描述

代码示例

思考方向,我也看了很多网上的很多博客都很难对于一个小白来说我感觉很吃力我就另辟蹊径在原来的基础上经行了加工

  • AppBar的title需要的是一个Widget组件
    • 把这个组件设置成了Row类型的组件

代码示例

class _HomeImp extends State<_Home> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        // 在这里引入类
        title: IndexTabBar(),
      ),
      bottomNavigationBar: MyBottomNavigation(),
    );
  }
}

核心代码

/// AppBar实现类
class IndexTabBar extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    return _IndexTabBarImp();
  }
}

class _IndexTabBarImp extends State<IndexTabBar> {
  @override
  Widget build(BuildContext context) {
    return Row(
      children: <Widget>[
          // 左边的一个小Icon 可以点击设置自己的位置信息
        InkWell(
          child: Row(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[Icon(Icons.four_k), Text("邯郸",style: TextStyle(fontSize: 15),)],
          ),
          onTap: () {},
        ),
          // 检索栏的代码
        Container(
          height: 38,
          width: 260,
          margin: EdgeInsets.only(left: 5),
          padding: EdgeInsets.fromLTRB(15, 0, 5, 0),
          decoration: BoxDecoration(
              border: Border.all(color: Colors.grey, width: 1.0),
              color: Colors.white,
              borderRadius: BorderRadius.all(Radius.circular(30.0))),
          child: InkWell(
            child: Row(
              children: <Widget>[
                Align(
                  alignment: Alignment.centerLeft,
                  child: Icon(
                    Icons.search,
                    color: Colors.grey,
                  ),
                ),
                Align(
                  alignment: Alignment.centerLeft,
                  child: Text(
                    "文书检索",
                    style: TextStyle(color: Colors.grey, fontSize: 15),
                  ),
                )
              ],
            ),
              // 设置点击跳转事件
            onTap: () => Navigator.pushNamed(context, "/search"),
          ),
        )
      ],
    );
  }
}

到这里就算是完成了一个自定义的AppBar

很简单,效果也还可以的明天会带大家搞一下 BottomNavigationBar

关注我学习更多Flutter 、 Java Web相关的知识
公众号:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值