flutter之底部导航——BottomNavigationBar

质感设计之底部导航栏几乎是所有app的主流结构,那么今天我们就来学习如何实现。网上资料也比较老, 有的还是自己写的,使用不是很方便。

import 'package:flutter/material.dart';

void main() {
  runApp(
    new MaterialApp(
      title: 'flutter 示例',
      home: new NavigationBarWidget(),
    ),
  );
}

class NavigationBarWidget extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    // TODO: implement createState
    return new NavigationBarState();
  }
}

class NavigationBarState extends State<NavigationBarWidget> {
  String menuStr = 'menu';
  var _currentIndex = 0;

  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return new Scaffold(
      appBar: new AppBar(
        title: new Text('navigationBar 示例'),
        centerTitle: true,
      ),
      body: new Center(
        child: new Text(menuStr),//body内容
      ),
      bottomNavigationBar: new BottomNavigationBar(
        items: <BottomNavigationBarItem>[
          new BottomNavigationBarItem(
              icon: new Icon(Icons.settings), title: new Text('tools')),
          new BottomNavigationBarItem(
              icon: new Icon(
                Icons.games,//此处图片可以自定义
              ),
              title: new Text('games')),
          new BottomNavigationBarItem(
              icon: new Icon(
                Icons.person,
              ),
              title: new Text('me'))
        ],
        selectedItemColor: Colors.blue,//选中后标签颜色
        unselectedItemColor: Colors.black26,//未选中标签颜色
        currentIndex: _currentIndex,//选中项的下标
        onTap: (int index) {//事件
          setState(() {
            _currentIndex = index;
            menuStr = "menu index is $index";
          });
        },
      ),
    );
  }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值